Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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))
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
    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)
Exemplo n.º 10
0
    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)
Exemplo n.º 11
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
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    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)
Exemplo n.º 14
0
    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)