2013-07-18 06:03:07 +00:00
|
|
|
import unittest
|
|
|
|
|
from mock import Mock
|
|
|
|
|
from mock import patch
|
|
|
|
|
|
|
|
|
|
import logging
|
|
|
|
|
|
2013-09-09 00:49:26 +00:00
|
|
|
from octoprint.filemanager.destinations import FileDestinations
|
|
|
|
|
|
|
|
|
|
|
2013-07-18 06:03:07 +00:00
|
|
|
class FileManipulationTestCase(unittest.TestCase):
|
2013-09-09 19:53:13 +00:00
|
|
|
|
2013-07-18 06:03:07 +00:00
|
|
|
def setUp(self):
|
2013-09-09 19:53:13 +00:00
|
|
|
|
2013-07-18 06:03:07 +00:00
|
|
|
from octoprint.settings import settings
|
|
|
|
|
from octoprint.gcodefiles import GcodeManager
|
|
|
|
|
self.settings = settings(True)
|
|
|
|
|
self.manager = GcodeManager()
|
|
|
|
|
|
|
|
|
|
self.filenames = []
|
|
|
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
|
|
|
|
|
|
for filename in self.filenames:
|
|
|
|
|
self.manager.removeFile(filename)
|
|
|
|
|
|
|
|
|
|
logging.info("REMOVED %s filenames" % str(len(self.filenames)))
|
|
|
|
|
|
2013-09-09 19:53:13 +00:00
|
|
|
@patch('octoprint.settings.Settings.getBoolean')
|
|
|
|
|
@patch('octoprint.slicers.cura.Cura.process_file')
|
|
|
|
|
def test_add_stl_file_curaDisabled(self, process, getterMock):
|
|
|
|
|
|
|
|
|
|
getterMock.return_value = False
|
|
|
|
|
|
|
|
|
|
fake = Mock()
|
|
|
|
|
fake.filename = "test_stl.stl"
|
|
|
|
|
self.filenames.append(fake.filename)
|
|
|
|
|
fake.__getitem__ = "SOMETHING"
|
|
|
|
|
|
|
|
|
|
result, done = self.manager.addFile(fake, FileDestinations.LOCAL)
|
|
|
|
|
|
|
|
|
|
logging.info("RESULT:%s" % str(result))
|
|
|
|
|
|
|
|
|
|
self.assertFalse(process.called)
|
|
|
|
|
self.assertIsNone(result)
|
|
|
|
|
self.assertTrue(done)
|
|
|
|
|
|
|
|
|
|
@patch('octoprint.settings.Settings.getBoolean')
|
2013-09-09 00:49:26 +00:00
|
|
|
@patch('octoprint.slicers.cura.Cura.process_file')
|
2013-09-09 19:53:13 +00:00
|
|
|
def test_add_stl_file_curaEnabled(self, process, getterMock):
|
|
|
|
|
|
|
|
|
|
getterMock.return_value = True
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
fake = Mock()
|
|
|
|
|
fake.filename = "test_stl.stl"
|
|
|
|
|
self.filenames.append(fake.filename)
|
|
|
|
|
fake.__getitem__ = "SOMETHING"
|
|
|
|
|
|
2013-09-09 17:27:17 +00:00
|
|
|
result, done = self.manager.addFile(fake, FileDestinations.LOCAL)
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
logging.info("RESULT:%s" % str(result))
|
|
|
|
|
|
2013-09-09 19:53:13 +00:00
|
|
|
getterMock.assert_called_once_with(["cura", "enabled"])
|
2013-07-18 06:03:07 +00:00
|
|
|
self.assertTrue(process.called)
|
2013-12-21 15:15:22 +00:00
|
|
|
self.assertTrue("test_stl.gcode" == result)
|
2013-09-09 17:27:17 +00:00
|
|
|
self.assertFalse(done)
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
def test_add_gcode_file(self):
|
|
|
|
|
fake = Mock()
|
|
|
|
|
fake.filename = "test_stl.gcode"
|
|
|
|
|
self.filenames.append(fake.filename)
|
|
|
|
|
fake.__getitem__ = "SOMETHING"
|
|
|
|
|
|
2013-09-09 17:27:17 +00:00
|
|
|
result, done = self.manager.addFile(fake, FileDestinations.LOCAL)
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
logging.info("RESULT:%s" % str(result))
|
|
|
|
|
|
|
|
|
|
self.assertTrue(fake.filename == result)
|
2013-09-09 17:27:17 +00:00
|
|
|
self.assertTrue(done)
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class FileUtilTestCase(unittest.TestCase):
|
|
|
|
|
|
|
|
|
|
def test_isGcode(self):
|
|
|
|
|
|
2013-09-23 19:32:26 +00:00
|
|
|
from octoprint.gcodefiles import isGcodeFileName
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
filename = "/asdj/wefasdf/junk.stl"
|
|
|
|
|
|
|
|
|
|
result = isGcodeFileName(filename)
|
|
|
|
|
|
|
|
|
|
self.assertFalse(result)
|
|
|
|
|
|
|
|
|
|
filename = "/asdj/wefasdf/junk.gcode"
|
|
|
|
|
|
|
|
|
|
result = isGcodeFileName(filename)
|
|
|
|
|
|
|
|
|
|
self.assertTrue(result)
|
|
|
|
|
|
|
|
|
|
def test_isSTLFileName(self):
|
|
|
|
|
|
2013-09-23 19:32:26 +00:00
|
|
|
from octoprint.gcodefiles import isSTLFileName
|
2013-07-18 06:03:07 +00:00
|
|
|
filename = "/asdj/wefasdf/junk.stl"
|
|
|
|
|
|
|
|
|
|
result = isSTLFileName(filename)
|
|
|
|
|
|
|
|
|
|
self.assertTrue(result)
|
|
|
|
|
|
|
|
|
|
filename = "/asdj/wefasdf/junk.gcode"
|
|
|
|
|
|
|
|
|
|
result = isSTLFileName(filename)
|
|
|
|
|
|
|
|
|
|
self.assertFalse(result)
|
|
|
|
|
|
|
|
|
|
def test_genGcodeFileName(self):
|
|
|
|
|
|
2013-09-23 19:32:26 +00:00
|
|
|
from octoprint.gcodefiles import genGcodeFileName
|
2013-07-18 06:03:07 +00:00
|
|
|
|
|
|
|
|
filename = "test.stl"
|
|
|
|
|
|
|
|
|
|
expected = "test.gcode"
|
|
|
|
|
|
|
|
|
|
result = genGcodeFileName(filename)
|
|
|
|
|
|
|
|
|
|
self.assertEqual(result, expected)
|