Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wnkz committed Apr 21, 2017
1 parent 13b5cb9 commit 37a66b4
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,20 @@ def test_list(self, base_image, released_image):
assert 'origin' not in lines[1]
assert 'eu-west-1:{}'.format(base_image.id) in lines[1]

def test_list_aliased(self, base_image, released_image):
r = runner.invoke(shipami, ['ls'])

lines = r.output.splitlines()

assert r.exit_code == 0
assert base_image.id in lines[2]
assert 'origin' in lines[2]
assert 'eu-west-1:{}'.format(released_image.id) in lines[2]

assert released_image.id in lines[1]
assert 'origin' not in lines[1]
assert 'eu-west-1:{}'.format(base_image.id) in lines[1]

def test_list_quiet(self, base_image, released_image):
r = runner.invoke(shipami, ['list', '-q'])

Expand Down Expand Up @@ -187,6 +201,30 @@ def test_copy(self, ec2, base_image):
assert image.name == base_image.name
assert sorted(image.tags, key=lambda _: _['Key']) == sorted(expected_tags, key=lambda _: _['Key'])

def test_copy_aliased(self, ec2, base_image):
image_number = len(ec2.meta.client.describe_images()['Images'])

expected_tags = [
{
'Key': 'shipami:managed',
'Value': 'True'
},
{
'Key': 'shipami:copied_from',
'Value': 'eu-west-1:{}'.format(base_image.id)
}
]

r = runner.invoke(shipami, ['cp', base_image.id])

returned_image_id = r.output.strip()
image = ec2.Image(returned_image_id)

assert r.exit_code == 0
assert len(ec2.meta.client.describe_images()['Images']) == image_number + 1
assert image.name == base_image.name
assert sorted(image.tags, key=lambda _: _['Key']) == sorted(expected_tags, key=lambda _: _['Key'])

def test_copy_wait(self, ec2, base_image):
image_number = len(ec2.meta.client.describe_images()['Images'])

Expand Down Expand Up @@ -275,6 +313,16 @@ def test_delete(self, ec2, copied_image):
assert len(ec2.meta.client.describe_images()['Images']) == 1
assert returned_image_id == copied_image_id

def test_delete_aliased(self, ec2, copied_image):
copied_image_id = copied_image.id
r = runner.invoke(shipami, ['rm', copied_image_id])

returned_image_id = r.output.strip()

assert r.exit_code == 0
assert len(ec2.meta.client.describe_images()['Images']) == 1
assert returned_image_id == copied_image_id

def test_delete_not_managed(self, ec2, base_image):
base_image_id = base_image.id
r = runner.invoke(shipami, ['delete', base_image_id])
Expand Down

0 comments on commit 37a66b4

Please sign in to comment.