Ejemplo n.º 1
0
 def test_parse_recipe_default_loader(self):
     out = parse_recipe(
         self.recipe_data,
         DataLoader("./"),
         cereals_dir_suffix="/",
         hops_dir_suffix="/",
         yeast_dir_suffix="/",
     )
     self.assertEquals(out, self.recipe)
Ejemplo n.º 2
0
class TestDataLoader(unittest.TestCase):
    def setUp(self):
        self.loader = DataLoader("./")
        self.loader.DATA = {}
        self.loader.EXT = "json"

    def test_data_dir_does_not_exist(self):
        with self.assertRaises(DataLoaderException) as ctx:
            DataLoader("./baddirectory")
        self.assertEquals(
            str(ctx.exception), u"Directory './baddirectory' does not exist"
        )

    def test_read_data_raises(self):
        with self.assertRaises(NotImplementedError):
            self.loader.read_data("filename")

    @mock.patch("glob.glob")
    def test_get_item(self, mock_glob):
        def read_data(item_filename):
            return "data"

        self.loader.read_data = read_data
        mock_glob.return_value = ["cereals/crystal_20.json"]
        out = self.loader.get_item("/", "crystal 20")
        expected = "data"
        self.assertEquals(out, expected)

    @mock.patch("glob.glob")
    def test_get_item_dir_does_not_exist(self, mock_glob):
        with self.assertRaises(DataLoaderException) as ctx:
            self.loader.get_item("baditemdir/", "crystal 20")
        self.assertEquals(
            str(ctx.exception), u"Item directory './baditemdir/' does not exist"
        )

    @mock.patch("glob.glob")
    def test_get_item_warns(self, mock_glob):
        def read_data(item_filename):
            return "data"

        self.loader.read_data = read_data
        mock_glob.return_value = ["cereals/crystal_40.json"]
        with warnings.catch_warnings(record=True) as w:
            warnings.simplefilter("always")
            self.loader.get_item("/", "crystal 20")
            self.assertEqual(len(w), 1)
            self.assertTrue(issubclass(w[-1].category, Warning))
            self.assertTrue("dir not found" in str(w[-1].message))
Ejemplo n.º 3
0
class TestDataLoader(unittest.TestCase):

    def setUp(self):
        self.loader = DataLoader('./')
        self.loader.DATA = {}
        self.loader.EXT = 'json'

    def test_data_dir_does_not_exist(self):
        with self.assertRaises(DataLoaderException) as ctx:
            DataLoader('./baddirectory')
        self.assertEquals(str(ctx.exception),
                          u"Directory './baddirectory' does not exist")

    def test_read_data_raises(self):
        with self.assertRaises(NotImplementedError):
            self.loader.read_data('filename')

    @mock.patch('glob.glob')
    def test_get_item(self, mock_glob):
        def read_data(item_filename):
            return 'data'
        self.loader.read_data = read_data
        mock_glob.return_value = ['cereals/crystal_20.json']
        out = self.loader.get_item('/', 'crystal 20')
        expected = 'data'
        self.assertEquals(out, expected)

    @mock.patch('glob.glob')
    def test_get_item_dir_does_not_exist(self, mock_glob):
        with self.assertRaises(DataLoaderException) as ctx:
            self.loader.get_item('baditemdir/', 'crystal 20')
        self.assertEquals(str(ctx.exception),
                          u"Item directory './baditemdir/' does not exist")

    @mock.patch('glob.glob')
    def test_get_item_warns(self, mock_glob):
        def read_data(item_filename):
            return 'data'
        self.loader.read_data = read_data
        mock_glob.return_value = ['cereals/crystal_40.json']
        with warnings.catch_warnings(record=True) as w:
            warnings.simplefilter("always")
            self.loader.get_item('/', 'crystal 20')
            self.assertEqual(len(w), 1)
            self.assertTrue(issubclass(w[-1].category, Warning))
            self.assertTrue('dir not found' in str(w[-1].message))
Ejemplo n.º 4
0
 def setUp(self):
     self.loader = DataLoader('./')
     self.loader.DATA = {}
     self.loader.EXT = 'json'
Ejemplo n.º 5
0
 def test_data_dir_does_not_exist(self):
     with self.assertRaises(DataLoaderException) as ctx:
         DataLoader("./baddirectory")
     self.assertEquals(
         str(ctx.exception), u"Directory './baddirectory' does not exist"
     )
Ejemplo n.º 6
0
 def setUp(self):
     self.loader = DataLoader("./")
     self.loader.DATA = {}
     self.loader.EXT = "json"