summaryrefslogtreecommitdiff
path: root/test/integration/targets/setup_ec2/tasks/common.yml
blob: bf23f539a9e16a8cb1f49c3257c805f1999bbdb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
---

# ============================================================
- name: test with no parameters
  action: "{{module_name}}"
  register: result
  ignore_errors: true

- name: assert failure when called with no parameters
  assert:
    that:
       - 'result.failed'
       - 'result.msg == "missing required arguments: name"'

# ============================================================
- name: test with only name
  action: "{{module_name}} name={{ec2_key_name}}"
  register: result
  ignore_errors: true

- 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
  action: "{{module_name}} name='{{ec2_key_name}}' region='asdf querty 1234'"
  register: result
  ignore_errors: true

- name: assert invalid region parameter
  assert:
    that:
       - 'result.failed'
       - 'result.msg.startswith("value of region must be one of:")'

# ============================================================
- name: test valid region parameter
  action: "{{module_name}} name='{{ec2_key_name}}' region='{{ec2_region}}'"
  register: result
  ignore_errors: true

- name: assert valid region parameter
  assert:
    that:
       - 'result.failed'
       - 'result.msg.startswith("No handler was ready to authenticate.")'

# ============================================================
- name: test environment variable EC2_REGION
  action: "{{module_name}} name='{{ec2_key_name}}'"
  environment:
    EC2_REGION: '{{ec2_region}}'
  register: result
  ignore_errors: true

- 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
  action: "{{module_name}} name='{{ec2_key_name}}'"
  environment:
    EC2_URL: bogus.example.com
  register: result
  ignore_errors: true

- 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
  action: "{{module_name}} name='{{ec2_key_name}}'"
  environment:
    EC2_URL: '{{ec2_url}}'
  register: result
  ignore_errors: true

- name: assert valid ec2_url parameter
  assert:
    that:
       - 'result.failed'
       - 'result.msg.startswith("No handler was ready to authenticate.")'

# ============================================================
- name: test credentials from environment
  action: "{{module_name}} name='{{ec2_key_name}}'"
  environment:
    EC2_REGION: '{{ec2_region}}'
    EC2_ACCESS_KEY: bogus_access_key
    EC2_SECRET_KEY: bogus_secret_key
  register: result
  ignore_errors: true

- name: assert ec2_key with valid ec2_url
  assert:
    that:
       - 'result.failed'
       - '"EC2ResponseError: 401 Unauthorized" in result.msg'

# ============================================================
- name: test credential parameters
  action: "{{module_name}} name='{{ec2_key_name}}' ec2_region='{{ec2_region}}' ec2_access_key=bogus_access_key ec2_secret_key=bogus_secret_key"
  register: result
  ignore_errors: true

- name: assert credential parameters
  assert:
    that:
       - 'result.failed'
       - '"EC2ResponseError: 401 Unauthorized" in result.msg'