示例#1
0
    def test_post_ok(self):
        uuid_patch = patch(
            'satellite.aliases.manager.uuid.uuid4',
            Mock(side_effect=[
                'c20b81b0-d90d-42d1-bf6d-eea5e6981196',
                '884a0c8e-de04-46de-945a-c77c3acf783e',
            ]))
        uuid_patch.start()
        self.addCleanup(uuid_patch.stop)

        response = self.fetch(
            self.get_url('/aliases'),
            method='POST',
            body=json.dumps({
                'data': [
                    {
                        'value': 123321,
                        'format': 'UUID'
                    },
                    {
                        'value': 'abccba',
                        'format': 'UUID'
                    },
                ]
            }),
        )

        self.assertEqual(response.code, 200, response.body)
        self.assertMatchSnapshot(json.loads(response.body))

        store = AliasStore()
        self.assertEqual(len(store.get_by_value('123321')), 1)
        self.assertEqual(len(store.get_by_value('abccba')), 1)
示例#2
0
def test_get_by_value():
    value = 'secret'
    alias1 = make_alias(
        True,
        value=value,
        alias_generator=AliasGeneratorType.UUID,
    )
    alias2 = make_alias(
        True,
        value=value,
        alias_generator=AliasGeneratorType.RAW_UUID,
    )

    store = AliasStore()
    assert store.get_by_value(value) == [alias1, alias2]
    assert store.get_by_value(value, AliasGeneratorType.UUID) == [alias1]
    assert store.get_by_value(value, AliasGeneratorType.RAW_UUID) == [alias2]
    assert store.get_by_value(value[::-1]) == []
示例#3
0
def test_cleanup():
    session = get_session()
    session.query(Alias).delete()
    session.commit()

    persistent_store = AliasStore()
    alias1 = make_alias(False)
    persistent_store.save(alias1)

    volatile_store = AliasStore(60)
    alias2 = make_alias(False)
    volatile_store.save(alias2)

    alias3 = make_alias(False)
    AliasStore(-1).save(alias3)

    assert AliasStore.cleanup() == 1
    persistent_store.get_by_value(alias1.value) is not None
    volatile_store.get_by_value(alias2.value) is not None
    volatile_store.get_by_value(alias3.value) is None
示例#4
0
def test_get_by_value_with_ttl_expired():
    alias = make_alias(False)
    store = AliasStore(-1)
    store.save(alias)
    assert store.get_by_value(alias.value) == []
示例#5
0
def test_get_by_value_with_ttl():
    alias = make_alias(False)
    store = AliasStore(60)
    store.save(alias)
    assert store.get_by_value(alias.value) == [alias]
    assert AliasStore().get_by_value(alias.value) == []
示例#6
0
def test_get_by_value():
    alias = make_alias(True)
    store = AliasStore()
    assert store.get_by_value(alias.public_alias) is None
    assert store.get_by_value(alias.value) == alias