Пример #1
0
    def test_user(self):
        meta = {
            keys.ITEMID: make_uuid(),
            keys.REVID: make_uuid(),
            keys.NAME: [u"user name", ],
            keys.NAMESPACE: u"userprofiles",
            keys.EMAIL: u"*****@*****.**",
            keys.SUBSCRIPTIONS: [u"{0}:{1}".format(keys.ITEMID, make_uuid()),
                                 u"{0}::foo".format(keys.NAME),
                                 u"{0}::bar".format(keys.TAGS),
                                 u"{0}::".format(keys.NAMERE),
                                 u"{0}:userprofiles:a".format(keys.NAMEPREFIX),
                                 ]
        }

        invalid_meta = {
            keys.SUBSCRIPTIONS: [u"", u"unknown_tag:123",
                                 u"{0}:123".format(keys.ITEMID),
                                 u"{0}:foo".format(keys.NAME),
                                 ]
        }

        state = {'trusted': False,  # True for loading a serialized representation or other trusted sources
                 keys.NAME: u'somename',  # name we decoded from URL path
                 keys.ACTION: keys.ACTION_SAVE,
                 keys.HOSTNAME: u'localhost',
                 keys.ADDRESS: u'127.0.0.1',
                 keys.WIKINAME: u'ThisWiki',
                 keys.NAMESPACE: u'',
                 keys.FQNAME: CompositeName(u'', u'', u'somename')
                }

        m = UserMetaSchema(meta)
        valid = m.validate(state)
        assert m[keys.CONTENTTYPE].value == CONTENTTYPE_USER
        if not valid:
            for e in m.children:
                print e.valid, e
            print m.valid, m
        assert valid

        m = UserMetaSchema(invalid_meta)
        valid = m.validate(state)
        assert not valid
        for e in m.children:
            if e.name in (keys.SUBSCRIPTIONS,):
                for value in e:
                    assert not value.valid
Пример #2
0
    def test_user(self):
        meta = {
            keys.ITEMID:
            make_uuid(),
            keys.REVID:
            make_uuid(),
            keys.NAME: [
                u"user name",
            ],
            keys.NAMESPACE:
            u"userprofiles",
            keys.EMAIL:
            u"*****@*****.**",
            keys.SUBSCRIPTIONS: [
                u"{0}:{1}".format(keys.ITEMID, make_uuid()),
                u"{0}::foo".format(keys.NAME),
                u"{0}::bar".format(keys.TAGS),
                u"{0}::".format(keys.NAMERE),
                u"{0}:userprofiles:a".format(keys.NAMEPREFIX),
            ]
        }

        invalid_meta = {
            keys.SUBSCRIPTIONS: [
                u"",
                u"unknown_tag:123",
                u"{0}:123".format(keys.ITEMID),
                u"{0}:foo".format(keys.NAME),
            ]
        }

        state = {
            'trusted':
            False,  # True for loading a serialized representation or other trusted sources
            keys.NAME: u'somename',  # name we decoded from URL path
            keys.ACTION: keys.ACTION_SAVE,
            keys.HOSTNAME: u'localhost',
            keys.ADDRESS: u'127.0.0.1',
            keys.WIKINAME: u'ThisWiki',
            keys.NAMESPACE: u'',
            keys.FQNAME: CompositeName(u'', u'', u'somename')
        }

        m = UserMetaSchema(meta)
        valid = m.validate(state)
        assert m[keys.CONTENTTYPE].value == CONTENTTYPE_USER
        if not valid:
            for e in m.children:
                print e.valid, e
            print m.valid, m
        assert valid

        m = UserMetaSchema(invalid_meta)
        valid = m.validate(state)
        assert not valid
        for e in m.children:
            if e.name in (keys.SUBSCRIPTIONS, ):
                for value in e:
                    assert not value.valid
Пример #3
0
    def test_user(self):
        meta = {
            keys.ITEMID: make_uuid(),
            keys.REVID: make_uuid(),
            keys.NAME: u"user name",
            keys.EMAIL: u"*****@*****.**",
        }

        state = {'trusted': False, # True for loading a serialized representation or other trusted sources
                 keys.NAME: u'somename', # name we decoded from URL path
                 keys.ACTION: u'SAVE',
                 keys.HOSTNAME: u'localhost',
                 keys.ADDRESS: u'127.0.0.1',
                 keys.WIKINAME: u'ThisWiki',
                }

        m = UserMetaSchema(meta)
        valid = m.validate(state)
        assert m[keys.CONTENTTYPE].value == CONTENTTYPE_USER
        if not valid:
            for e in m.children:
                print e.valid, e
            print m.valid, m
        assert valid