Exemplo n.º 1
0
    def test_clear_scope_and_code(self):
        id_generator = IdGenerator()
        id_generator.generate_scope_and_code("portfolio")

        vals = id_generator.pop_scope_and_codes()
        self.assertEqual(1, len(list(vals)))

        id_generator.clear()

        self.assertEqual(0, len(list(vals)))
Exemplo n.º 2
0
    def test_generate_scope_and_code_with_different_entity(self):
        id_generator = IdGenerator()
        entity1, scope1, code1 = id_generator.generate_scope_and_code(
            "portfolio")

        entity2, scope2, code2 = id_generator.generate_scope_and_code(
            "property")

        vals = set(id_generator.pop_scope_and_codes())

        self.assertEqual(2, len(vals))
        self.assertIn((entity1, scope1, code1), vals)
        self.assertIn((entity2, scope2, code2), vals)
Exemplo n.º 3
0
    def test_generate_scope_and_code(self, _, scope, expected_scope):
        id_generator = IdGenerator()
        gen_entity, gen_scope, gen_code = id_generator.generate_scope_and_code(
            "portfolio", scope=scope)

        self.assertEqual("portfolio", gen_entity)
        self.assertEqual(expected_scope, gen_scope)
        self.assertIsNotNone(gen_code)
        self.assertIsNot("", gen_code)
Exemplo n.º 4
0
    def test_add_existing_scope_and_code(self):
        id_generator = IdGenerator()
        _, gen_scope, gen_code = id_generator.generate_scope_and_code(
            "portfolio")

        id_generator.add_scope_and_code("portfolio", gen_scope, gen_code)

        gen_vals = set(id_generator.pop_scope_and_codes())
        self.assertEqual(1, len(gen_vals))
Exemplo n.º 5
0
    def test_generate_scope_and_code_with_scope_prefix(self):
        code_prefix = "abc-"
        id_generator = IdGenerator()
        gen_entity, gen_scope, gen_code = id_generator.generate_scope_and_code(
            "portfolio", code_prefix=code_prefix)

        self.assertEqual("portfolio", gen_entity)
        self.assertEqual(IdGenerator.default_scope, gen_scope)
        self.assertIsNotNone(gen_code)
        self.assertTrue(gen_code.startswith(code_prefix))
Exemplo n.º 6
0
    def test_get_scope_and_code_with_default_scope(self):
        id_generator = IdGenerator()
        entity, scope, code = id_generator.generate_scope_and_code("portfolio")

        val = next(id_generator.pop_scope_and_codes(), None)

        self.assertEqual(scope, val[1])
        self.assertEqual(scope, id_generator.default_scope)

        val = next(id_generator.pop_scope_and_codes(), None)
        self.assertIsNone(val)
Exemplo n.º 7
0
    def test_get_multiple_scope_and_codes(self):
        id_generator = IdGenerator()
        n = 5

        vals = {
            id_generator.generate_scope_and_code("portfolio")
            for _ in range(n)
        }

        gen_vals = set(id_generator.pop_scope_and_codes())
        self.assertEqual(n, len(gen_vals))
        self.assertSetEqual(vals, gen_vals)
Exemplo n.º 8
0
    def test_get_scope_and_code_with_specified_scope(self):
        test_scope = "test-scope"
        id_generator = IdGenerator(test_scope)
        entity, scope, code = id_generator.generate_scope_and_code("portfolio")

        val = next(id_generator.pop_scope_and_codes(), None)

        self.assertEqual(scope, val[1])
        self.assertEqual(scope, test_scope)

        val = next(id_generator.pop_scope_and_codes(), None)
        self.assertIsNone(val)
Exemplo n.º 9
0
    def test_generate_scope_and_code_with_annotations(self):
        id_generator = IdGenerator()
        test_scope = "test-scope"
        annotations = ["val1", "val2"]
        item = id_generator.generate_scope_and_code("portfolio",
                                                    scope=test_scope,
                                                    annotations=annotations)

        self.assertEqual("portfolio", item[0])
        self.assertEqual(test_scope, item[1])
        self.assertIsNotNone(item[2])
        self.assertIsNot("", item[2])
        self.assertEqual("val1", item[3])
        self.assertEqual("val2", item[4])