Example #1
0
    def test_set_over_18(self):
        """Assert that set_over_18 invokes _set_attributes"""
        CollectionStorage._set_attributes = MagicMock()
        CollectionStorage.set_over_18(self.name, True)

        CollectionStorage._set_attributes.assert_called_once_with(self.name,
            {'over_18': 'True'})
Example #2
0
    def test_set_is_spotlight(self):
        """Assert that set_is_spotlight invokes _set_attributes"""
        CollectionStorage._set_attributes = MagicMock()
        CollectionStorage.set_is_spotlight(self.name, True)

        CollectionStorage._set_attributes.assert_called_once_with(self.name,
            {'is_spotlight': 'True'})
Example #3
0
    def test_set_attributes(self):
        """Assert that _set_attributes properly handles invalid attributes"""
        attribute_error_message = 'No attribute on %s called %s'
        invalid_attribute = {'invalid_attribute': None}
        valid_attribute = {'is_spotlight': None}

        collection = Collection(name=self.name, sr_names=[])

        Collection.by_name = Mock()
        Collection.by_name.return_value = collection

        # Assert that a bad attribute will raise NotFoundException
        with self.assertRaises(AttributeError) as e:
            CollectionStorage._set_attributes(self.name, invalid_attribute)
        self.assertEqual(e.exception.message, attribute_error_message %
            (self.name, invalid_attribute.keys()[0]))

        # Should throw even if there's a bad attribute AND valid attribute
        with self.assertRaises(AttributeError) as e:
            CollectionStorage._set_attributes(self.name,
            dict(invalid_attribute, **valid_attribute))
        self.assertEqual(e.exception.message, attribute_error_message %
            (self.name, invalid_attribute.keys()[0]))

        CollectionStorage._set_values = MagicMock()
        CollectionStorage._set_attributes(self.name,
            valid_attribute)

        # Assert that no exception thrown if valid attributes passed
        CollectionStorage._set_values.assert_called_once_with(self.name,
            valid_attribute)