def test_importer_multi_levels_modified(self): """Ensure that the content is correctly modified""" container = self.container children = [ { "identifier": u"001.1", "title": u"first", "informations": None, "enabled": None, "_children": [], }, { "identifier": u"001.2", "title": u"second modified", "informations": None, "enabled": None, "_children": [], }, ] utils.importer(container, None, u"001", u"First Modified", None, None, children) self.assertEqual(2, len(container)) self.assertEqual(["001", "002"], sorted([e.identifier for e in container.values()])) subelement = container.get_by("identifier", "001") self.assertEqual(u"First Modified", subelement.title) self.assertEqual(2, len(subelement)) self.assertEqual(["001.1", "001.2"], sorted([e.identifier for e in subelement.values()])) self.assertEqual(["first", "second modified"], sorted([e.title for e in subelement.values()]))
def test_importer_one_level(self): """Ensure that the content is correctly created""" container = api.content.create(title="Container2", type="ClassificationContainer", container=self.folder) _children = [ { "identifier": u"key1.1", "title": u"Key 1.1", "informations": None, "enabled": None, "_children": [], }, { "identifier": u"key1.2", "title": u"Key 1.2", "informations": None, "enabled": None, "_children": [], }, ] utils.importer(container, None, u"key1", u"Key 1", None, None, _children) utils.importer(container, None, u"key2", u"Key 1", None, None, None) self.assertEqual(2, len(container)) self.assertEqual(["key1", "key2"], sorted([e.identifier for e in container.values()])) subelement = container.get_by("identifier", "key1") self.assertEqual(2, len(subelement)) self.assertEqual(["key1.1", "key1.2"], sorted([e.identifier for e in subelement.values()]))
def test_importer_one_level_modified_result(self): """Ensure that the returned list is correct""" container = self.container modified = utils.importer(container, None, u"001", u"First M", None, None, None) results = [[getattr(e, "identifier", None) for e in element] for element in modified] self.assertEqual([[None]], results) modified = utils.importer(container, None, u"002", u"Second", None, None, None) results = [[getattr(e, "identifier", None) for e in element] for element in modified] self.assertEqual([], results)
def test_importer_multi_levels_modified_result(self): """Ensure that the returned list is correct""" container = self.container children = [ { "identifier": u"001.1", "title": u"first", "informations": None, "enabled": None, "_children": [], }, { "identifier": u"001.2", "title": u"second modified", "informations": None, "enabled": None, "_children": [], }, ] modified = utils.importer(container, None, u"001", u"First Modified", None, None, children) expected_results = [[None], ["001", None]] results = [[getattr(e, "identifier", None) for e in element] for element in modified] self.assertEqual(expected_results, results)
def test_importer_one_level_result(self): """Ensure that the returned list is correct""" container = api.content.create(title="Container2", type="ClassificationContainer", container=self.folder) _children = [ { "identifier": u"key1.1", "title": u"Key 1.1", "informations": None, "enabled": None, "_children": [], }, { "identifier": u"key1.2", "title": u"Key 1.2", "informations": None, "enabled": None, "_children": [], }, ] modified = utils.importer(container, None, u"key1", u"Key 1", None, None, _children) expected_results = [ [None], ["key1", None], ["key1", None], ] results = [[getattr(e, "identifier", None) for e in element] for element in modified] self.assertEqual(expected_results, results)
def test_importer_one_level_modified(self): """Ensure that the content is correctly modified""" container = self.container utils.importer(container, None, u"001", u"First Modified", None, None, None) utils.importer(container, None, u"002", u"Second", None, None, None) self.assertEqual(2, len(container)) self.assertEqual(["001", "002"], sorted([e.identifier for e in container.values()])) subelement = container.get_by("identifier", "001") self.assertEqual(u"First Modified", subelement.title) self.assertEqual(2, len(subelement)) self.assertEqual(["001.1", "001.2"], sorted([e.identifier for e in subelement.values()]))
def test_importer_multi_levels_created_modified(self): """Ensure that the content is correctly created / modified""" container = self.container children = [ { "identifier": u"001.1", "title": u"first", "informations": None, "enabled": None, "_children": [], }, { "identifier": u"001.2", "title": u"second modified", "informations": u'new infos', "enabled": False, "_children": [], }, { "identifier": u"001.3", "title": u"new one", "informations": u'infos', "enabled": False, "_children": [], }, ] utils.importer(container, None, u"001", u"First Modified", None, None, children) self.assertEqual(2, len(container)) self.assertEqual(["001", "002"], sorted([e.identifier for e in container.values()])) subelement = container.get_by("identifier", "001") self.assertEqual(u"First Modified", subelement.title) self.assertEqual(3, len(subelement)) values = sorted(subelement.values(), key=attrgetter('identifier')) self.assertEqual(["001.1", "001.2", "001.3"], [e.identifier for e in values]) self.assertEqual([u"first", u"second modified", u"new one"], [e.title for e in values]) self.assertEqual([None, u"new infos", u"infos"], [e.informations for e in values]) self.assertEqual([True, False, False], [e.enabled for e in values])
def _import_node(self, node): args = (None, node.pop("identifier"), node.pop("title")) modified = utils.importer(self.context, *args, **node) utils.trigger_event(modified, ContainerModifiedEvent)