Add additional test for tag expiration
This commit is contained in:
parent
78652de3ee
commit
4663bf4194
1 changed files with 16 additions and 1 deletions
|
@ -1,6 +1,7 @@
|
|||
import pytest
|
||||
|
||||
from mock import patch
|
||||
from time import time
|
||||
|
||||
from data.database import Image, RepositoryTag, ImageStorage, Repository
|
||||
from data.model.repository import create_repository
|
||||
|
@ -112,7 +113,7 @@ def assert_tags(repository, *args):
|
|||
for tag in tags:
|
||||
assert not tag.name in tags_dict
|
||||
assert not tag.hidden
|
||||
assert not tag.lifetime_end_ts
|
||||
assert not tag.lifetime_end_ts or tag.lifetime_end_ts > time()
|
||||
|
||||
tags_dict[tag.name] = tag
|
||||
|
||||
|
@ -145,6 +146,13 @@ def test_list_active_tags(initialized_db):
|
|||
# Make sure they are returned.
|
||||
assert_tags(repository, 'foo', 'bar')
|
||||
|
||||
# Mark as a tag as expiring in the far future, and make sure it is still returned.
|
||||
footag.lifetime_end_ts = footag.lifetime_start_ts + 10000000
|
||||
footag.save()
|
||||
|
||||
# Make sure they are returned.
|
||||
assert_tags(repository, 'foo', 'bar')
|
||||
|
||||
# Delete a tag and make sure it isn't returned.
|
||||
footag = delete_tag('devtable', 'somenewrepo', 'foo')
|
||||
footag.lifetime_end_ts -= 4
|
||||
|
@ -159,6 +167,13 @@ def test_list_active_tags(initialized_db):
|
|||
|
||||
assert_tags(repository, 'foo', 'bar')
|
||||
|
||||
# Mark as a tag as expiring in the far future, and make sure it is still returned.
|
||||
footag.lifetime_end_ts = footag.lifetime_start_ts + 10000000
|
||||
footag.save()
|
||||
|
||||
# Make sure they are returned.
|
||||
assert_tags(repository, 'foo', 'bar')
|
||||
|
||||
# "Move" foo by updating it and make sure we don't get duplicates.
|
||||
create_or_update_tag('devtable', 'somenewrepo', 'foo', image2.docker_image_id)
|
||||
assert_tags(repository, 'foo', 'bar')
|
||||
|
|
Reference in a new issue