Esempio n. 1
0
    def __subtest_basic(self, string):
        fixed_string = Key.remove_duplicate_slashes(string)
        last_namespace = fixed_string.rsplit('/')[-1].split(':')
        k_type = last_namespace[0] if len(last_namespace) > 1 else ''
        name = last_namespace[-1]
        path = fixed_string.rsplit('/', 1)[0] + '/' + k_type
        instance = fixed_string + ':' + 'c'

        assert Key(string)._string == fixed_string
        assert Key(string) == Key(string)
        assert str(Key(string)) == fixed_string
        assert repr(Key(string)) == "Key('%s')" % fixed_string
        assert Key(string).name == name
        assert Key(string).type == k_type
        assert Key(string).instance('c') == Key(instance)
        assert Key(string).path == Key(path)
        assert Key(string) == eval(repr(Key(string)))

        assert Key(string).child('a') > Key(string)
        assert Key(string).child('a') < Key(string).child('b')
        assert Key(string) == Key(string)

        split_string = fixed_string.split('/')
        if len(split_string) > 1:
            assert Key('/'.join(split_string[:-1])) == Key(string).parent
        else:
            with pytest.raises(ValueError):
                Key(string).parent

        namespace = split_string[-1].split(':')
        if len(namespace) > 1:
            assert namespace[0] == Key(string).type
        else:
            assert '' == Key(string).type
Esempio n. 2
0
    def __subtest_basic(self, string):
        fixed_string = Key.remove_duplicate_slashes(string)
        last_namespace = fixed_string.rsplit('/')[-1].split(':')
        k_type = last_namespace[0] if len(last_namespace) > 1 else ''
        name = last_namespace[-1]
        path = fixed_string.rsplit('/', 1)[0] + '/' + k_type
        instance = fixed_string + ':' + 'c'

        self.assertEqual(Key(string)._string, fixed_string)
        self.assertEqual(Key(string), Key(string))
        self.assertEqual(str(Key(string)), fixed_string)
        self.assertEqual(repr(Key(string)), "Key('%s')" % fixed_string)
        self.assertEqual(Key(string).name, name)
        self.assertEqual(Key(string).type, k_type)
        self.assertEqual(Key(string).instance('c'), Key(instance))
        self.assertEqual(Key(string).path, Key(path))
        self.assertEqual(Key(string), eval(repr(Key(string))))

        self.assertTrue(Key(string).child('a') > Key(string))
        self.assertTrue(Key(string).child('a') < Key(string).child('b'))
        self.assertTrue(Key(string) == Key(string))

        split_string = fixed_string.split('/')
        if len(split_string) > 1:
            self.assertEqual(Key('/'.join(split_string[:-1])), Key(string).parent)
        else:
            self.assertRaises(ValueError, lambda: Key(string).parent)

        namespace = split_string[-1].split(':')
        if len(namespace) > 1:
            self.assertEqual(namespace[0], Key(string).type)
        else:
            self.assertEqual('', Key(string).type)