@ -13,61 +13,63 @@
# ============================================================
# - include: ../../setup_ec2/tasks/common.yml module_name=ec2_key
# ============================================================
- name : test with no parameters
- block:
# ============================================================
- name : test with no parameters
ec2_key:
register : result
ignore_errors : true
- name : assert failure when called with no parameters
- name : assert failure when called with no parameters
assert:
that:
- 'result.failed'
- 'result.msg == "missing required arguments: name"'
# ============================================================
- name : test with only name
# ============================================================
- name : test with only name
ec2_key:
name={{ec2_key_name}}
register : result
ignore_errors : true
- name : assert failure when called with only 'name'
- name : assert failure when called with only 'name'
assert:
that:
- 'result.failed'
- 'result.msg == "Either region or ec2_url must be specified"'
# ============================================================
- name : test invalid region parameter
# ============================================================
- name : test invalid region parameter
ec2_key:
name={{ec2_key_name}}
region='asdf querty 1234'
register : result
ignore_errors : true
- name : assert invalid region parameter
- name : assert invalid region parameter
assert:
that:
- 'result.failed'
- 'result.msg.startswith("value of region must be one of: ")'
- 'result.msg.startswith("Region asdf querty 1234 does not seem to be available ")'
# ============================================================
- name : test valid region parameter
# ============================================================
- name : test valid region parameter
ec2_key:
name={{ec2_key_name}}
region={{ec2_region}}
register : result
ignore_errors : true
- name : assert valid region parameter
- name : assert valid region parameter
assert:
that:
- 'result.failed'
- 'result.msg.startswith("No handler was ready to authenticate.")'
# ============================================================
- name : test environment variable EC2_REGION
# ============================================================
- name : test environment variable EC2_REGION
ec2_key:
name={{ec2_key_name}}
environment:
@ -75,14 +77,14 @@
register : result
ignore_errors : true
- name : assert environment variable EC2_REGION
- name : assert environment variable EC2_REGION
assert:
that:
- 'result.failed'
- 'result.msg.startswith("No handler was ready to authenticate.")'
# ============================================================
- name : test invalid ec2_url parameter
# ============================================================
- name : test invalid ec2_url parameter
ec2_key:
name={{ec2_key_name}}
environment:
@ -90,14 +92,14 @@
register : result
ignore_errors : true
- name : assert invalid ec2_url parameter
- name : assert invalid ec2_url parameter
assert:
that:
- 'result.failed'
- 'result.msg.startswith("No handler was ready to authenticate.")'
# ============================================================
- name : test valid ec2_url parameter
# ============================================================
- name : test valid ec2_url parameter
ec2_key:
name={{ec2_key_name}}
environment:
@ -105,14 +107,14 @@
register : result
ignore_errors : true
- name : assert valid ec2_url parameter
- name : assert valid ec2_url parameter
assert:
that:
- 'result.failed'
- 'result.msg.startswith("No handler was ready to authenticate.")'
# ============================================================
- name : test credentials from environment
# ============================================================
- name : test credentials from environment
ec2_key:
name={{ec2_key_name}}
environment:
@ -122,14 +124,14 @@
register : result
ignore_errors : true
- name : assert ec2_key with valid ec2_url
- name : assert ec2_key with valid ec2_url
assert:
that:
- 'result.failed'
- '"EC2ResponseError: 401 Unauthorized" in result.m sg '
- '"EC2ResponseError: 401 Unauthorized" in result.m odule_stderr '
# ============================================================
- name : test credential parameters
# ============================================================
- name : test credential parameters
ec2_key:
name={{ec2_key_name}}
ec2_region={{ec2_region}}
@ -138,38 +140,40 @@
register : result
ignore_errors : true
- name : assert credential parameters
- name : assert credential parameters
assert:
that:
- 'result.failed'
- '"EC2ResponseError: 401 Unauthorized" in result.m sg '
- '"EC2ResponseError: 401 Unauthorized" in result.m odule_stderr '
# ============================================================
- name : test state=absent with key_material
# ============================================================
- name : test state=absent with key_material
ec2_key:
name='{{ec2_key_name}}'
ec2_region={{ec2_region}}
ec2_access_key={{ec2_access_key}}
ec2_secret_key={{ec2_secret_key}}
security_token={{security_token}}
state=absent
register : result
- name : assert state=absent with key_material
- name : assert state=absent with key_material
assert:
that:
- '"failed" not in result'
# ============================================================
- name : test state=present without key_material
# ============================================================
- name : test state=present without key_material
ec2_key:
name='{{ec2_key_name}}'
ec2_region={{ec2_region}}
ec2_access_key={{ec2_access_key}}
ec2_secret_key={{ec2_secret_key}}
security_token={{security_token}}
state=present
register : result
- name : assert state=present without key_material
- name : assert state=present without key_material
assert:
that:
- 'result.changed'
@ -180,8 +184,8 @@
- '"private_key" in result.key'
- 'result.key.name == "{{ec2_key_name}}"'
# ============================================================
- name : test state=absent without key_material
# ============================================================
- name : test state=absent without key_material
ec2_key:
name='{{ec2_key_name}}'
state=absent
@ -189,9 +193,10 @@
EC2_REGION : '{{ec2_region}}'
EC2_ACCESS_KEY : '{{ec2_access_key}}'
EC2_SECRET_KEY : '{{ec2_secret_key}}'
EC2_SECURITY_TOKEN : '{{security_token|default("")}}'
register : result
- name : assert state=absent without key_material
- name : assert state=absent without key_material
assert:
that:
- 'result.changed'
@ -199,8 +204,8 @@
- '"key" in result'
- 'result.key == None'
# ============================================================
- name : test state=present with key_material
# ============================================================
- name : test state=present with key_material
ec2_key:
name='{{ec2_key_name}}'
key_material='{{key_material}}'
@ -209,9 +214,10 @@
EC2_REGION : '{{ec2_region}}'
EC2_ACCESS_KEY : '{{ec2_access_key}}'
EC2_SECRET_KEY : '{{ec2_secret_key}}'
EC2_SECURITY_TOKEN : '{{security_token|default("")}}'
register : result
- name : assert state=present with key_material
- name : assert state=present with key_material
assert:
that:
- '"failed" not in result'
@ -224,18 +230,19 @@
# FIXME - why don't the fingerprints match?
# - 'result.key.fingerprint == "{{fingerprint}}"'
# ============================================================
- name : test state=absent with key_material
# ============================================================
- name : test state=absent with key_material
ec2_key:
name='{{ec2_key_name}}'
key_material='{{key_material}}'
ec2_region='{{ec2_region}}'
ec2_access_key='{{ec2_access_key}}'
ec2_secret_key='{{ec2_secret_key}}'
security_token='{{security_token}}'
state=absent
register : result
- name : assert state=absent with key_material
- name : assert state=absent with key_material
assert:
that:
- 'result.changed'
@ -243,20 +250,21 @@
- '"key" in result'
- 'result.key == None'
# ============================================================
- name : test state=present with key_material with_files (expect changed=true)
# ============================================================
- name : test state=present with key_material with_files (expect changed=true)
ec2_key:
name='{{ec2_key_name}}'
state=present
key_material='{{ item }}'
with_file : sshkey ~ ' .pub'
with_file : '{{sshkey}} .pub'
environment:
EC2_REGION : '{{ec2_region}}'
EC2_ACCESS_KEY : '{{ec2_access_key}}'
EC2_SECRET_KEY : '{{ec2_secret_key}}'
EC2_SECURITY_TOKEN : '{{security_token|default("")}}'
register : result
- name : assert state=present with key_material with_files (expect changed=true)
- name : assert state=present with key_material with_files (expect changed=true)
assert:
that:
- 'result.msg == "All items completed"'
@ -271,20 +279,21 @@
# FIXME - why doesn't result.key.fingerprint == {{fingerprint}}
# - 'result.key.fingerprint == "{{fingerprint}}"'
# ============================================================
- name : test state=present with key_material with_files (expect changed=false)
# ============================================================
- name : test state=present with key_material with_files (expect changed=false)
ec2_key:
name='{{ec2_key_name}}'
state=present
key_material='{{ item }}'
with_file : sshkey ~ ' .pub'
with_file : '{{sshkey}} .pub'
environment:
EC2_REGION : '{{ec2_region}}'
EC2_ACCESS_KEY : '{{ec2_access_key}}'
EC2_SECRET_KEY : '{{ec2_secret_key}}'
EC2_SECURITY_TOKEN : '{{security_token|default("")}}'
register : result
- name : assert state=present with key_material with_files (expect changed=false)
- name : assert state=present with key_material with_files (expect changed=false)
assert:
that:
- 'result.msg == "All items completed"'
@ -299,18 +308,19 @@
# FIXME - why doesn't result.key.fingerprint == {{fingerprint}}
# - 'result.key.fingerprint == "{{fingerprint}}"'
# ============================================================
- name : test state=absent with key_material (expect changed=true)
# ============================================================
- name : test state=absent with key_material (expect changed=true)
ec2_key:
name='{{ec2_key_name}}'
ec2_region='{{ec2_region}}'
ec2_access_key='{{ec2_access_key}}'
ec2_secret_key='{{ec2_secret_key}}'
security_token='{{security_token}}'
key_material='{{key_material}}'
state=absent
register : result
- name : assert state=absent with key_material (expect changed=true)
- name : assert state=absent with key_material (expect changed=true)
assert:
that:
- 'result.changed'
@ -318,17 +328,20 @@
- '"key" in result'
- 'result.key == None'
# ============================================================
- name : test state=absent (expect changed=false)
always:
# ============================================================
- name : test state=absent (expect changed=false)
ec2_key:
name='{{ec2_key_name}}'
ec2_region='{{ec2_region}}'
ec2_access_key='{{ec2_access_key}}'
ec2_secret_key='{{ec2_secret_key}}'
security_token='{{security_token}}'
state=absent
register : result
- name : assert state=absent with key_material (expect changed=false)
- name : assert state=absent with key_material (expect changed=false)
assert:
that:
- 'not result.changed'