def testAddAttribSucess(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) child_node = data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.AREA) child_node.addAttrib(data_dict.AttribName(text="test name")) child_node.addAttrib( data_dict.AttribDescription(text="test description")) self.assertEqual( 1, data_dict.AttribName.query(ancestor=root_node.key).count(10)) self.assertEqual( 1, data_dict.AttribName.query(ancestor=child_node.key).count(10)) self.assertEqual(2, len(child_node.container.attributes)) atribs_name = data_dict.AttribName.query( ancestor=child_node.key).fetch(10) self.assertEqual(1, len(atribs_name)) self.assertIn(atribs_name[0].key, child_node.container.attributes)
def testInitLookupManySucess(self): NUMBER = 10 self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) child_nodes_keys = [ data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.AREA).key for unused in range(NUMBER) ] self.assertEqual(len(child_nodes_keys), NUMBER) test_lookup = data_dict.Element(key=child_nodes_keys) self.assertEqual(len(test_lookup.keys), NUMBER) self.assertEqual(len(test_lookup.containers), NUMBER) NUMBER = 3 child_nodes_keys = child_nodes_keys[:NUMBER] test_lookup = data_dict.Element(key=child_nodes_keys) self.assertEqual(len(test_lookup.keys), NUMBER) self.assertEqual(len(test_lookup.containers), NUMBER)
def testInitLookupManyFail(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) child_nodes_keys = [ data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.AREA).key for unused in range(10) ] child_nodes_keys[0] = None test_lookup = data_dict.Element(key=child_nodes_keys) self.assertEqual(len(test_lookup.keys), 9) self.assertEqual(len(test_lookup.containers), 9) child_nodes_keys[0] = child_nodes_keys[1] test_lookup = data_dict.Element(key=child_nodes_keys) self.assertEqual(len(test_lookup.keys), 9) self.assertEqual(len(test_lookup.containers), 9)
def testInitCreateContainerX10Flat(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) child_nodes = [ data_dict.Element(menuParent=root_node.key, contType=data_dict.ContentType.AREA) for unused in range(10) ] # re-read the root_node to update child keys. root_node = data_dict.Element(key=root_node.key) self.assertIn(data_dict.root_key, data_dict.gContainer) for child_node in child_nodes: self.assertIn(child_node.key, data_dict.gContainer) self.assertNotEqual(child_node.key, data_dict.root_key) self.assertIn(child_node.key, root_node.container.menuChildren) self.assertEqual(child_node.container.menuParent, root_node.key) self.assertEqual(10, len(root_node.container.menuChildren))
def testInitCreateContainerFromParentKeySucess(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) # Using root_node.key as parent. child_node = data_dict.Element(menuParent=root_node.key, contType=data_dict.ContentType.AREA) # re-read the root_node to update child keys. root_node = data_dict.Element(key=root_node.key) self.assertIn(data_dict.root_key, data_dict.gContainer) self.assertIn(child_node.key, data_dict.gContainer) self.assertEqual(len(data_dict.gContainer), 3) self.assertNotEqual(child_node.key, data_dict.root_key) self.assertIn(child_node.key, root_node.container.menuChildren) self.assertEqual(1, len(root_node.container.menuChildren)) self.assertEqual(child_node.container.menuParent, root_node.key) self.assertEqual(data_dict.ContentType.AREA, child_node.container.contType)
def testInitLookupOneFail(self): badKey1 = 'earwax' self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL=None, USER_ID='0', USER_IS_ADMIN='0', overwrite=True) test_node = data_dict.Element(key=badKey1) self.assertIs(test_node.key, None)
def testInitLookupOneSucess(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL=None, USER_ID='0', USER_IS_ADMIN='0', overwrite=True) test_node = data_dict.Element(key=root_node.key) self.assertEqual(root_node.key, test_node.key) self.assertEqual(root_node.container, test_node.container)
def testInitLookupLimitedListFail(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL=None, USER_ID='0', USER_IS_ADMIN='0', overwrite=True) test_node = data_dict.Element( key=root_node.key, contType=[data_dict.ContentType.AREA, data_dict.ContentType.CRAG]) self.assertNotEqual(root_node.key, test_node.key) self.assertNotEqual(root_node.container, test_node.container)
def testInitCreateRootNodeTwice(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.assertIn(data_dict.root_key, data_dict.gContainer) self.assertEqual(len(data_dict.gContainer), 2) root_node2 = data_dict.Element(contType=data_dict.ContentType.ROOT) self.assertIn(data_dict.root_key, data_dict.gContainer) self.assertEqual(len(data_dict.gContainer), 2) self.assertEqual(root_node.key, root_node2.key)
def testInitCreateRootNodeNotUser(self): self.testbed.setup_env(USER_EMAIL=None, USER_ID='0', USER_IS_ADMIN='0', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.assertNotIn(data_dict.root_key, data_dict.gContainer) self.assertEqual(len(data_dict.gContainer), 0)
def testInitCreateContainerX10Stacked(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) nodeHolder = root_node child_nodes = [] for unused in range(10): # Each new node is a child of the previous. nodeHolder = data_dict.Element(menuParent=nodeHolder, contType=data_dict.ContentType.AREA) child_nodes.append(nodeHolder) # re-read the root_node to update child keys. root_node = data_dict.Element(key=root_node.key) self.assertIn(data_dict.root_key, data_dict.gContainer) self.assertEqual(1, len(root_node.container.menuChildren)) lastChild = root_node for child_node in child_nodes: # Re-read child_node to ensure .menuChildren is uptodate. child_node = data_dict.Element(key=child_node.key) self.assertNotEqual(child_node.key, data_dict.root_key) self.assertNotEqual(child_node.key, lastChild.key) self.assertLessEqual(len(lastChild.container.menuChildren), 1) # The last node has no children self.assertIn(child_node.key, lastChild.container.menuChildren) self.assertEqual(child_node.container.menuParent, lastChild.key) lastChild = child_node self.assertEqual(0, len( lastChild.container.menuChildren)) # The last node has no children
def testInitCreateContainerNotUser(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL=None, USER_ID='0', USER_IS_ADMIN='0', overwrite=True) self.assertIsNone(users.get_current_user()) self.assertEqual(data_dict.gKeyCounter, 1) self.assertEqual(len(data_dict.gContainer), 2) child_node = data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.AREA) self.assertEqual(data_dict.gKeyCounter, 1) self.assertEqual(len(data_dict.gContainer), 2) self.assertIsNone(child_node.key)
def testInitLookupManyLimitedListPartialSucess(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) root_node = data_dict.Element(contType=data_dict.ContentType.ROOT) self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='0', overwrite=True) child_nodes_keys = [ data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.AREA).key for unused in range(10) ] child_nodes_keys.append( data_dict.Element(menuParent=root_node, contType=data_dict.ContentType.CRAG).key) child_nodes_keys.append( data_dict.Element(menuParent=root_node, active=True, contType=data_dict.ContentType.AREA).key) test_lookup = data_dict.Element(key=child_nodes_keys, contType=data_dict.ContentType.CRAG) self.assertEqual(len(test_lookup.keys), 1) self.assertEqual(len(test_lookup.containers), 1) test_lookup = data_dict.Element(key=child_nodes_keys, active=True) self.assertEqual(len(test_lookup.keys), 1) self.assertEqual(len(test_lookup.containers), 1)
def testInitCreateRootNodeSucess(self): self.testbed.setup_env(USER_EMAIL='*****@*****.**', USER_ID='1', USER_IS_ADMIN='1', overwrite=True) rootNode = data_dict.Element(contType=data_dict.ContentType.ROOT) self.assertEqual(data_dict.gContainer[data_dict.root_key].contType, data_dict.ContentType.ROOT) self.assertEqual(data_dict.gContainer[data_dict.root_key].active, True) self.assertEqual(data_dict.gContainer[data_dict.root_key].menuParent, None) self.assertEqual(data_dict.gContainer[data_dict.root_key].menuChildren, []) self.assertEqual( len(data_dict.gContainer[data_dict.root_key].attributes), 1) attribKey = data_dict.gContainer[data_dict.root_key].attributes[0] self.assertEqual(data_dict.gContainer[attribKey].text, 'root') self.assertEqual(data_dict.gKeyCounter, 1) self.assertEqual(len(data_dict.gContainer), 2) self.assertIn(data_dict.root_key, data_dict.gContainer) self.assertIn(attribKey, data_dict.gContainer)