mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-22 12:50:22 -07:00
Enable cloud tests for use with ansible-test.
This commit is contained in:
parent
ac72fd9d2c
commit
17e07a27b2
89 changed files with 66 additions and 3 deletions
2
test/integration/targets/ecs_ecr/aliases
Normal file
2
test/integration/targets/ecs_ecr/aliases
Normal file
|
@ -0,0 +1,2 @@
|
|||
cloud/aws
|
||||
posix/ci/cloud/aws
|
10
test/integration/targets/ecs_ecr/defaults/main.yml
Normal file
10
test/integration/targets/ecs_ecr/defaults/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
policy:
|
||||
Version: '2008-10-17'
|
||||
Statement:
|
||||
- Sid: new statement
|
||||
Effect: Allow
|
||||
Principal: "*"
|
||||
Action:
|
||||
- ecr:GetDownloadUrlForLayer
|
||||
- ecr:BatchGetImage
|
||||
- ecr:BatchCheckLayerAvailability
|
3
test/integration/targets/ecs_ecr/meta/main.yml
Normal file
3
test/integration/targets/ecs_ecr/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
dependencies:
|
||||
- prepare_tests
|
||||
- setup_ec2
|
341
test/integration/targets/ecs_ecr/tasks/main.yml
Normal file
341
test/integration/targets/ecs_ecr/tasks/main.yml
Normal file
|
@ -0,0 +1,341 @@
|
|||
---
|
||||
- set_fact:
|
||||
ecr_name: 'ecr-test-{{ ansible_date_time.epoch }}'
|
||||
|
||||
- block:
|
||||
|
||||
- name: When creating with check mode
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should skip, change and create
|
||||
assert:
|
||||
that:
|
||||
- result|skipped
|
||||
- result|changed
|
||||
- result.created
|
||||
|
||||
|
||||
- name: When specifying a registry that is inaccessible
|
||||
ecs_ecr:
|
||||
registry_id: 999999999999
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
ignore_errors: true
|
||||
|
||||
- name: it should fail with an AccessDeniedException
|
||||
assert:
|
||||
that:
|
||||
- result|failed
|
||||
- '"AccessDeniedException" in result.msg'
|
||||
|
||||
|
||||
- name: When creating a repository
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should change and create
|
||||
assert:
|
||||
that:
|
||||
- result|changed
|
||||
- result.created
|
||||
|
||||
|
||||
- name: When creating a repository that already exists in check mode
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should not skip, should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|skipped
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When creating a repository that already exists
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When in check mode, and deleting a policy that does not exists
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
delete_policy: yes
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should not skip and not change
|
||||
assert:
|
||||
that:
|
||||
- not result|skipped
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When in check mode, setting policy on a repository that has no policy
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy: '{{ policy }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should skip, change and not create
|
||||
assert:
|
||||
that:
|
||||
- result|skipped
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When setting policy on a repository that has no policy
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy: '{{ policy }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should change and not create
|
||||
assert:
|
||||
that:
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When in check mode, and deleting a policy that exists
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
delete_policy: yes
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should skip, change but not create
|
||||
assert:
|
||||
that:
|
||||
- result|skipped
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When deleting a policy that exists
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
delete_policy: yes
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should change and not create
|
||||
assert:
|
||||
that:
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When setting a policy as a string
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy: '{{ policy | to_json }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should change and not create
|
||||
assert:
|
||||
that:
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When setting a policy to its current value
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy: '{{ policy }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When omitting policy on a repository that has a policy
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When specifying both policy and delete_policy
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy: '{{ policy }}'
|
||||
delete_policy: yes
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
ignore_errors: true
|
||||
|
||||
- name: it should fail
|
||||
assert:
|
||||
that:
|
||||
- result|failed
|
||||
|
||||
|
||||
- name: When specifying invalid JSON for policy
|
||||
ecs_ecr:
|
||||
region: '{{ ec2_region }}'
|
||||
name: '{{ ecr_name }}'
|
||||
policy_text: "Ceci n'est pas une JSON"
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
ignore_errors: true
|
||||
|
||||
- name: it should fail
|
||||
assert:
|
||||
that:
|
||||
- result|failed
|
||||
|
||||
|
||||
- name: When in check mode, deleting a policy that exists
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
state: absent
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should skip, change and not create
|
||||
assert:
|
||||
that:
|
||||
- result|skipped
|
||||
- result|changed
|
||||
- not result.created
|
||||
|
||||
|
||||
- name: When deleting a policy that exists
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
state: absent
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should change
|
||||
assert:
|
||||
that:
|
||||
- result|changed
|
||||
|
||||
|
||||
- name: When in check mode, deleting a policy that does not exist
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
state: absent
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
check_mode: yes
|
||||
|
||||
- name: it should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|skipped
|
||||
- not result|changed
|
||||
|
||||
|
||||
- name: When deleting a policy that does not exist
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
state: absent
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
||||
register: result
|
||||
|
||||
- name: it should not change
|
||||
assert:
|
||||
that:
|
||||
- not result|changed
|
||||
|
||||
always:
|
||||
|
||||
- name: Delete lingering ECR repository
|
||||
ecs_ecr:
|
||||
name: '{{ ecr_name }}'
|
||||
region: '{{ ec2_region }}'
|
||||
state: absent
|
||||
ec2_access_key: '{{ec2_access_key}}'
|
||||
ec2_secret_key: '{{ec2_secret_key}}'
|
||||
security_token: '{{security_token}}'
|
Loading…
Add table
Add a link
Reference in a new issue