foreman_acd 0.4.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +84 -84
  3. data/app/controllers/foreman_acd/ansible_playbooks_controller.rb +103 -11
  4. data/app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb +21 -3
  5. data/app/controllers/foreman_acd/api/v2/app_definitions_controller.rb +1 -0
  6. data/app/controllers/foreman_acd/api/v2/app_instances_controller.rb +9 -1
  7. data/app/controllers/foreman_acd/app_definitions_controller.rb +117 -15
  8. data/app/controllers/foreman_acd/app_instances_controller.rb +104 -30
  9. data/app/controllers/foreman_acd/concerns/ansible_playbook_parameters.rb +1 -1
  10. data/app/controllers/foreman_acd/concerns/app_definition_parameters.rb +1 -1
  11. data/app/controllers/foreman_acd/concerns/app_instance_mixins.rb +36 -0
  12. data/app/controllers/foreman_acd/concerns/app_instance_parameters.rb +1 -1
  13. data/app/controllers/foreman_acd/remote_execution_controller.rb +36 -23
  14. data/app/controllers/ui_acd_controller.rb +46 -0
  15. data/app/lib/actions/foreman_acd/deploy_all_hosts.rb +47 -0
  16. data/app/lib/actions/foreman_acd/run_configurator.rb +45 -0
  17. data/app/models/concerns/foreman_acd/host_managed_extensions.rb +39 -0
  18. data/app/models/foreman_acd/acd_provider.rb +36 -0
  19. data/app/models/foreman_acd/ansible_playbook.rb +32 -14
  20. data/app/models/foreman_acd/app_definition.rb +24 -1
  21. data/app/models/foreman_acd/app_instance.rb +85 -5
  22. data/app/models/foreman_acd/foreman_host.rb +31 -0
  23. data/app/models/foreman_acd/taxonomy_extensions.rb +17 -0
  24. data/app/services/foreman_acd/acd_proxy_proxy_selector.rb +17 -0
  25. data/app/services/foreman_acd/app_configurator.rb +64 -36
  26. data/app/services/foreman_acd/app_deployer.rb +83 -48
  27. data/app/services/foreman_acd/inventory_creator.rb +36 -25
  28. data/app/views/foreman_acd/ansible_playbooks/_form.html.erb +50 -7
  29. data/app/views/foreman_acd/ansible_playbooks/edit.html.erb +9 -1
  30. data/app/views/foreman_acd/ansible_playbooks/index.html.erb +3 -3
  31. data/app/views/foreman_acd/api/v2/ansible_playbooks/base.json.rabl +2 -0
  32. data/app/views/foreman_acd/api/v2/ansible_playbooks/index.json.rabl +2 -0
  33. data/app/views/foreman_acd/api/v2/ansible_playbooks/show.json.rabl +6 -0
  34. data/app/views/foreman_acd/api/v2/app_definitions/base.json.rabl +2 -0
  35. data/app/views/foreman_acd/api/v2/app_definitions/index.json.rabl +2 -0
  36. data/app/views/foreman_acd/api/v2/app_definitions/show.json.rabl +6 -0
  37. data/app/views/foreman_acd/api/v2/app_instances/base.json.rabl +3 -1
  38. data/app/views/foreman_acd/api/v2/app_instances/index.json.rabl +2 -0
  39. data/app/views/foreman_acd/api/v2/app_instances/show.json.rabl +2 -0
  40. data/app/views/foreman_acd/app_definitions/_form.html.erb +9 -1
  41. data/app/views/foreman_acd/app_definitions/edit.html.erb +10 -5
  42. data/app/views/foreman_acd/app_definitions/import.html.erb +20 -1
  43. data/app/views/foreman_acd/app_definitions/index.html.erb +5 -8
  44. data/app/views/foreman_acd/app_instances/_form.html.erb +4 -4
  45. data/app/views/foreman_acd/app_instances/edit.html.erb +10 -0
  46. data/app/views/foreman_acd/app_instances/index.html.erb +93 -14
  47. data/app/views/foreman_acd/app_instances/report.html.erb +12 -4
  48. data/app/views/templates/job/run_acd_ansible_playbook.erb +28 -15
  49. data/app/views/ui_acd/app_definition.json.rabl +1 -1
  50. data/app/views/ui_acd/host_report.json.rabl +4 -0
  51. data/app/views/ui_acd/report_data.json.rabl +10 -0
  52. data/app/views/ui_acd/validate_hostname.json.rabl +6 -0
  53. data/config/routes.rb +12 -3
  54. data/db/migrate/20200917120220_add_ansible_playbook_id.rb +1 -1
  55. data/db/migrate/20201016002819_add_ansible_vars_all_to_app_definitions.rb +3 -0
  56. data/db/migrate/20201016104338_add_ansible_vars_all_to_app_instances.rb +3 -0
  57. data/db/migrate/20210112111548_add_organization_to_app_instance.rb +22 -0
  58. data/db/migrate/20210112113853_add_location_to_app_instance.rb +8 -0
  59. data/db/migrate/20210202141658_create_foreman_hosts.rb +24 -0
  60. data/db/migrate/20210204111306_remove_hosts_from_app_instances.rb +8 -0
  61. data/db/migrate/20210209091014_rename_acd_tables.rb +16 -0
  62. data/db/migrate/20210216083522_add_last_progress_report.rb +8 -0
  63. data/db/migrate/20210216091529_add_last_deploy_task.rb +8 -0
  64. data/db/migrate/20210316151145_add_git_commit_to_ansible_playbooks.rb +8 -0
  65. data/db/migrate/20210503122809_add_git_url_to_ansible_playbooks.rb +8 -0
  66. data/db/migrate/20210818125913_add_is_existing_host_to_foreman_host.rb +8 -0
  67. data/db/migrate/20210902110645_add_initial_configure_task.rb +8 -0
  68. data/db/seeds.d/62_acd_proxy_feature.rb +4 -0
  69. data/db/seeds.d/75-job_templates.rb +6 -1
  70. data/lib/foreman_acd/engine.rb +40 -3
  71. data/lib/foreman_acd/plugin.rb +60 -45
  72. data/lib/foreman_acd/version.rb +1 -1
  73. data/lib/foreman_acd.rb +30 -0
  74. data/lib/tasks/foreman_acd_tasks.rake +0 -12
  75. data/locale/en/foreman_acd.edit.po +326 -0
  76. data/locale/en/foreman_acd.po +232 -2
  77. data/{app/controllers/foreman_acd/api/v2/app_playbooks_controller.rb → locale/en/foreman_acd.po.time_stamp} +0 -0
  78. data/locale/foreman_acd.pot +343 -8
  79. data/package.json +8 -8
  80. data/test/controllers/ansible_playbooks_controller_test.rb +27 -0
  81. data/test/controllers/app_instances_controller_test.rb +8 -3
  82. data/test/controllers/ui_acd_controller_test.rb +22 -6
  83. data/test/factories/foreman_acd_factories.rb +18 -4
  84. data/test/models/acd_provider_test.rb +37 -0
  85. data/test/models/ansible_playbook_test.rb +11 -0
  86. data/test/models/app_definition_test.rb +1 -1
  87. data/test/models/app_instance_test.rb +2 -0
  88. data/test/models/concerns/host_extensions_test.rb +26 -0
  89. data/test/models/foreman_host_test.rb +12 -0
  90. data/webpack/__mocks__/foremanReact/API.js +2 -0
  91. data/webpack/__mocks__/foremanReact/common/I18n.js +3 -0
  92. data/webpack/__mocks__/foremanReact/common/helpers.js +2 -0
  93. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +2 -0
  94. data/webpack/__mocks__/foremanReact/components/ForemanModal.js +7 -0
  95. data/webpack/__mocks__/foremanReact/components/common/forms/CommonForm.js +2 -0
  96. data/webpack/__mocks__/foremanReact/components/common/forms/TextInput.js +2 -0
  97. data/webpack/__mocks__/foremanReact/components/hosts/powerStatus.js +1 -0
  98. data/webpack/__snapshots__/helper.test.js.snap +14 -0
  99. data/webpack/components/ApplicationDefinition/ApplicationDefinition.js +55 -21
  100. data/webpack/components/ApplicationDefinition/ApplicationDefinitionActions.js +14 -0
  101. data/webpack/components/ApplicationDefinition/ApplicationDefinitionConstants.js +2 -0
  102. data/webpack/components/ApplicationDefinition/ApplicationDefinitionReducer.js +48 -1
  103. data/webpack/components/ApplicationDefinition/ApplicationDefinitionSelectors.js +4 -0
  104. data/webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionConfData_1.fixtures.js +288 -0
  105. data/webpack/components/ApplicationDefinition/__fixtures__/applicationDefinitionReducer.fixtures.js +79 -0
  106. data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinition.test.js +26 -0
  107. data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionReducer.test.js +119 -0
  108. data/webpack/components/ApplicationDefinition/__tests__/ApplicationDefinitionSelectors.test.js +41 -0
  109. data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinition.test.js.snap +225 -0
  110. data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionReducer.test.js.snap +3033 -0
  111. data/webpack/components/ApplicationDefinition/__tests__/__snapshots__/ApplicationDefinitionSelectors.test.js.snap +299 -0
  112. data/webpack/components/ApplicationDefinition/components/AnsiblePlaybookSelector.js +2 -1
  113. data/webpack/components/ApplicationDefinition/components/__tests__/AnsiblePlaybookSelector.test.js +41 -0
  114. data/webpack/components/ApplicationDefinition/components/__tests__/__snapshots__/AnsiblePlaybookSelector.test.js.snap +121 -0
  115. data/webpack/components/ApplicationDefinition/index.js +8 -0
  116. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImport.js +214 -0
  117. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImport.scss +1 -0
  118. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImportActions.js +161 -0
  119. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImportConstants.js +6 -0
  120. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImportReducer.js +79 -0
  121. data/webpack/components/ApplicationDefinitionImport/ApplicationDefinitionImportSelectors.js +8 -0
  122. data/webpack/components/ApplicationDefinitionImport/__fixtures__/applicationDefinitionImportConfData_1.fixtures.js +129 -0
  123. data/webpack/components/ApplicationDefinitionImport/__fixtures__/applicationDefinitionImportReducer.fixtures.js +29 -0
  124. data/webpack/components/ApplicationDefinitionImport/__tests__/ApplicationDefinitionImport.test.js +20 -0
  125. data/webpack/components/ApplicationDefinitionImport/__tests__/ApplicationDefinitionImportReducer.test.js +43 -0
  126. data/webpack/components/ApplicationDefinitionImport/__tests__/ApplicationDefinitionImportSelectors.test.js +29 -0
  127. data/webpack/components/ApplicationDefinitionImport/__tests__/__snapshots__/ApplicationDefinitionImport.test.js.snap +62 -0
  128. data/webpack/components/ApplicationDefinitionImport/__tests__/__snapshots__/ApplicationDefinitionImportReducer.test.js.snap +362 -0
  129. data/webpack/components/ApplicationDefinitionImport/__tests__/__snapshots__/ApplicationDefinitionImportSelectors.test.js.snap +130 -0
  130. data/webpack/components/ApplicationDefinitionImport/index.js +32 -0
  131. data/webpack/components/ApplicationInstance/ApplicationInstance.js +153 -45
  132. data/webpack/components/ApplicationInstance/ApplicationInstanceActions.js +120 -6
  133. data/webpack/components/ApplicationInstance/ApplicationInstanceConstants.js +5 -0
  134. data/webpack/components/ApplicationInstance/ApplicationInstanceHelper.js +15 -0
  135. data/webpack/components/ApplicationInstance/ApplicationInstanceReducer.js +77 -22
  136. data/webpack/components/ApplicationInstance/ApplicationInstanceSelectors.js +4 -0
  137. data/webpack/components/ApplicationInstance/__fixtures__/applicationInstanceConfData_1.fixtures.js +263 -0
  138. data/webpack/components/ApplicationInstance/__fixtures__/applicationInstanceReducer.fixtures.js +80 -0
  139. data/webpack/components/ApplicationInstance/__tests__/ApplicationInstance.test.js +24 -0
  140. data/webpack/components/ApplicationInstance/__tests__/ApplicationInstanceReducer.test.js +131 -0
  141. data/webpack/components/ApplicationInstance/__tests__/ApplicationInstanceSelectors.test.js +44 -0
  142. data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstance.test.js.snap +299 -0
  143. data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceReducer.test.js.snap +2990 -0
  144. data/webpack/components/ApplicationInstance/__tests__/__snapshots__/ApplicationInstanceSelectors.test.js.snap +276 -0
  145. data/webpack/components/ApplicationInstance/components/AppDefinitionSelector.js +1 -0
  146. data/webpack/components/ApplicationInstance/components/Service.js +1 -1
  147. data/webpack/components/ApplicationInstance/components/ServiceCounter.js +1 -1
  148. data/webpack/components/ApplicationInstance/helper.js +0 -0
  149. data/webpack/components/ApplicationInstance/index.js +8 -0
  150. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.js +128 -60
  151. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.scss +17 -0
  152. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportActions.js +40 -50
  153. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportConstants.js +5 -4
  154. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportReducer.js +19 -14
  155. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportSelectors.js +4 -1
  156. data/webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportData_1.fixtures.js +349 -0
  157. data/webpack/components/ApplicationInstanceReport/__fixtures__/applicationInstanceReportReducer.fixtures.js +20 -0
  158. data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReport.test.js +47 -0
  159. data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportReducer.test.js +41 -0
  160. data/webpack/components/ApplicationInstanceReport/__tests__/ApplicationInstanceReportSelectors.test.js +26 -0
  161. data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReport.test.js.snap +7 -0
  162. data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportReducer.test.js.snap +718 -0
  163. data/webpack/components/ApplicationInstanceReport/__tests__/__snapshots__/ApplicationInstanceReportSelectors.test.js.snap +347 -0
  164. data/webpack/components/ApplicationInstanceReport/components/ReportViewer.js +1 -1
  165. data/webpack/components/ApplicationInstanceReport/components/__tests__/ReportViewer.test.js +24 -0
  166. data/webpack/components/ApplicationInstanceReport/components/__tests__/__snapshots__/ReportViewer.test.js.snap +24 -0
  167. data/webpack/components/ApplicationInstanceReport/index.js +8 -3
  168. data/webpack/components/ExistingHostSelection/ExistingHostSelection.js +104 -0
  169. data/webpack/components/ExistingHostSelection/ExistingHostSelection.scss +15 -0
  170. data/webpack/components/ExistingHostSelection/ExistingHostSelectionActions.js +71 -0
  171. data/webpack/components/ExistingHostSelection/ExistingHostSelectionConstants.js +4 -0
  172. data/webpack/components/ExistingHostSelection/ExistingHostSelectionHelper.js +0 -0
  173. data/webpack/components/ExistingHostSelection/ExistingHostSelectionReducer.js +90 -0
  174. data/webpack/components/ExistingHostSelection/ExistingHostSelectionSelectors.js +8 -0
  175. data/webpack/components/ExistingHostSelection/__fixtures__/existingHostSelectionConfData_1.fixtures.js +191 -0
  176. data/webpack/components/ExistingHostSelection/__fixtures__/existingHostSelectionReducer.fixtures.js +203 -0
  177. data/webpack/components/ExistingHostSelection/__tests__/ExistingHostSelection.test.js +19 -0
  178. data/webpack/components/ExistingHostSelection/__tests__/ExistingHostSelectionReducer.test.js +59 -0
  179. data/webpack/components/ExistingHostSelection/__tests__/ExistingHostSelectionSelectors.test.js +36 -0
  180. data/webpack/components/ExistingHostSelection/__tests__/__snapshots__/ExistingHostSelection.test.js.snap +35 -0
  181. data/webpack/components/ExistingHostSelection/__tests__/__snapshots__/ExistingHostSelectionReducer.test.js.snap +614 -0
  182. data/webpack/components/ExistingHostSelection/__tests__/__snapshots__/ExistingHostSelectionSelectors.test.js.snap +27 -0
  183. data/webpack/components/ExistingHostSelection/components/ServiceSelector.js +48 -0
  184. data/webpack/components/ExistingHostSelection/components/__tests__/ServiceSelector.test.js +35 -0
  185. data/webpack/components/ExistingHostSelection/components/__tests__/__snapshots__/ServiceSelector.test.js.snap +77 -0
  186. data/webpack/components/ExistingHostSelection/index.js +26 -0
  187. data/webpack/components/ParameterSelection/ParameterSelection.js +138 -15
  188. data/webpack/components/ParameterSelection/ParameterSelection.scss +7 -0
  189. data/webpack/components/ParameterSelection/ParameterSelectionActions.js +52 -9
  190. data/webpack/components/ParameterSelection/ParameterSelectionConstants.js +3 -0
  191. data/webpack/components/ParameterSelection/ParameterSelectionReducer.js +62 -25
  192. data/webpack/components/ParameterSelection/ParameterSelectionSelectors.js +1 -0
  193. data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionData_1.fixtures.js +116 -84
  194. data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionReducer.fixtures.js +10 -4
  195. data/webpack/components/ParameterSelection/__tests__/ParameterSelection.test.js +36 -46
  196. data/webpack/components/ParameterSelection/__tests__/ParameterSelectionReducer.test.js +33 -25
  197. data/webpack/components/ParameterSelection/__tests__/ParameterSelectionSelectors.test.js +6 -6
  198. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelection.test.js.snap +84 -112
  199. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionReducer.test.js.snap +1488 -872
  200. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionSelectors.test.js.snap +117 -79
  201. data/webpack/components/ParameterSelection/index.js +2 -1
  202. data/webpack/components/SyncGitRepo/SyncGitRepo.js +202 -0
  203. data/webpack/components/SyncGitRepo/SyncGitRepo.scss +1 -0
  204. data/webpack/components/SyncGitRepo/SyncGitRepoActions.js +123 -0
  205. data/webpack/components/SyncGitRepo/SyncGitRepoConstants.js +8 -0
  206. data/webpack/components/SyncGitRepo/SyncGitRepoReducer.js +80 -0
  207. data/webpack/components/SyncGitRepo/SyncGitRepoSelectors.js +6 -0
  208. data/webpack/components/SyncGitRepo/__fixtures__/syncGitRepoConfData_1.fixtures.js +7 -0
  209. data/webpack/components/SyncGitRepo/__fixtures__/syncGitRepoReducer.fixtures.js +44 -0
  210. data/webpack/components/SyncGitRepo/__tests__/SyncGitRepo.test.js +27 -0
  211. data/webpack/components/SyncGitRepo/__tests__/SyncGitRepoReducer.test.js +95 -0
  212. data/webpack/components/SyncGitRepo/__tests__/SyncGitRepoSelectors.test.js +32 -0
  213. data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepo.test.js.snap +31 -0
  214. data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoReducer.test.js.snap +137 -0
  215. data/webpack/components/SyncGitRepo/__tests__/__snapshots__/SyncGitRepoSelectors.test.js.snap +13 -0
  216. data/webpack/components/SyncGitRepo/components/FormTextInput.js +42 -0
  217. data/webpack/components/SyncGitRepo/components/ScmTypeSelector.js +47 -0
  218. data/webpack/components/SyncGitRepo/index.js +28 -0
  219. data/webpack/components/common/DeleteTableEntry.js +18 -4
  220. data/webpack/components/common/EditTableEntry.js +50 -0
  221. data/webpack/components/common/ExtTextInput.js +43 -0
  222. data/webpack/components/common/LockTableEntry.js +60 -0
  223. data/webpack/components/common/__tests__/EditTableEntry.test.js +53 -0
  224. data/webpack/components/common/__tests__/LockTableEntry.test.js +35 -0
  225. data/webpack/components/common/__tests__/__snapshots__/DeleteTableEntry.test.js.snap +40 -2
  226. data/webpack/components/common/__tests__/__snapshots__/EditTableEntry.test.js.snap +81 -0
  227. data/webpack/components/common/__tests__/__snapshots__/LockTableEntry.test.js.snap +60 -0
  228. data/webpack/helper.js +20 -1
  229. data/webpack/helper.test.js +37 -0
  230. data/webpack/index.js +7 -0
  231. data/webpack/js-yaml.js +3874 -0
  232. data/webpack/reducer.js +16 -1
  233. metadata +182 -11
  234. data/app/views/foreman_acd/app_instances/deploy.html.erb +0 -19
  235. data/webpack/components/common/EasyHeaderFormatter.js +0 -18
  236. data/webpack/components/common/__tests__/__snapshots__/AddParameter.test.js.snap +0 -35
  237. data/webpack/components/common/__tests__/__snapshots__/DeleteParameter.test.js.snap +0 -41
@@ -0,0 +1,3033 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ApplicationDefintionReducer should activate edit service 1`] = `
4
+ Object {
5
+ "ansiblePlaybook": Object {
6
+ "groups": Object {
7
+ "all": Array [
8
+ Object {
9
+ "id": 0,
10
+ "name": "repository",
11
+ "value": "https://github.com/bennojoy/mywebapp.git",
12
+ },
13
+ ],
14
+ "dbservers": Array [
15
+ Object {
16
+ "id": 0,
17
+ "name": "mysqlservice",
18
+ "value": "mysqld",
19
+ },
20
+ Object {
21
+ "id": 1,
22
+ "name": "mysql_port",
23
+ "value": "3306",
24
+ },
25
+ Object {
26
+ "id": 2,
27
+ "name": "dbuser",
28
+ "value": "webapp",
29
+ },
30
+ Object {
31
+ "id": 3,
32
+ "name": "dbname",
33
+ "value": "ANSAP01",
34
+ },
35
+ Object {
36
+ "id": 4,
37
+ "name": "upassword",
38
+ "value": "Bond@007",
39
+ },
40
+ Object {
41
+ "id": 5,
42
+ "name": "masterpassword",
43
+ "value": "MySQL@007",
44
+ },
45
+ ],
46
+ "webservers": Array [
47
+ Object {
48
+ "id": 0,
49
+ "name": "dummy_var",
50
+ "value": "0",
51
+ },
52
+ ],
53
+ },
54
+ "id": 2,
55
+ "name": "LAMP",
56
+ },
57
+ "ansibleVarsAll": Array [
58
+ Object {
59
+ "id": 0,
60
+ "name": "repository",
61
+ "value": "https://github.com/bennojoy/mywebapp.git",
62
+ },
63
+ ],
64
+ "columns": Array [
65
+ Object {
66
+ "cell": Object {
67
+ "formatters": Array [
68
+ null,
69
+ ],
70
+ },
71
+ "header": Object {
72
+ "formatters": Array [
73
+ null,
74
+ ],
75
+ "label": "Name",
76
+ "props": Object {
77
+ "index": 0,
78
+ "style": Object {
79
+ "width": "15%",
80
+ },
81
+ },
82
+ },
83
+ "property": "name",
84
+ },
85
+ Object {
86
+ "cell": Object {
87
+ "formatters": Array [
88
+ null,
89
+ ],
90
+ },
91
+ "header": Object {
92
+ "formatters": Array [
93
+ null,
94
+ ],
95
+ "label": "Description",
96
+ "props": Object {
97
+ "index": 1,
98
+ "style": Object {
99
+ "width": "10%",
100
+ },
101
+ },
102
+ },
103
+ "property": "description",
104
+ },
105
+ Object {
106
+ "cell": Object {
107
+ "formatters": Array [
108
+ null,
109
+ ],
110
+ },
111
+ "header": Object {
112
+ "formatters": Array [
113
+ null,
114
+ ],
115
+ "label": "Hostgroup",
116
+ "props": Object {
117
+ "index": 2,
118
+ "style": Object {
119
+ "width": "20%",
120
+ },
121
+ },
122
+ },
123
+ "property": "hostgroup",
124
+ },
125
+ Object {
126
+ "cell": Object {
127
+ "formatters": Array [
128
+ null,
129
+ ],
130
+ },
131
+ "header": Object {
132
+ "formatters": Array [
133
+ null,
134
+ ],
135
+ "label": "Ansible Group",
136
+ "props": Object {
137
+ "index": 3,
138
+ "style": Object {
139
+ "width": "20%",
140
+ },
141
+ },
142
+ },
143
+ "property": "ansibleGroup",
144
+ },
145
+ Object {
146
+ "cell": Object {
147
+ "formatters": Array [
148
+ null,
149
+ ],
150
+ },
151
+ "header": Object {
152
+ "formatters": Array [
153
+ null,
154
+ ],
155
+ "label": "min count",
156
+ "props": Object {
157
+ "index": 4,
158
+ "style": Object {
159
+ "width": "10%",
160
+ },
161
+ },
162
+ },
163
+ "property": "minCount",
164
+ },
165
+ Object {
166
+ "cell": Object {
167
+ "formatters": Array [
168
+ null,
169
+ ],
170
+ },
171
+ "header": Object {
172
+ "formatters": Array [
173
+ null,
174
+ ],
175
+ "label": "max count",
176
+ "props": Object {
177
+ "index": 5,
178
+ "style": Object {
179
+ "width": "10%",
180
+ },
181
+ },
182
+ },
183
+ "property": "maxCount",
184
+ },
185
+ Object {
186
+ "cell": Object {
187
+ "formatters": Array [
188
+ null,
189
+ ],
190
+ },
191
+ "header": Object {
192
+ "formatters": Array [
193
+ null,
194
+ ],
195
+ "label": "Actions",
196
+ "props": Object {
197
+ "index": 6,
198
+ "style": Object {
199
+ "width": "15%",
200
+ },
201
+ },
202
+ },
203
+ "property": "actions",
204
+ },
205
+ ],
206
+ "editMode": true,
207
+ "error": Object {
208
+ "errorMsg": "",
209
+ "status": "",
210
+ "statusText": "",
211
+ },
212
+ "name": false,
213
+ "services": Array [
214
+ Object {
215
+ "ansibleGroup": "webservers",
216
+ "ansibleParameters": Array [
217
+ Object {
218
+ "id": 0,
219
+ "name": "dummy_var",
220
+ "value": "0",
221
+ },
222
+ ],
223
+ "description": "",
224
+ "foremanParameters": Array [
225
+ Object {
226
+ "description": "",
227
+ "id": 1,
228
+ "locked": false,
229
+ "name": "CP",
230
+ "type": "computeprofile",
231
+ "value": "1",
232
+ },
233
+ Object {
234
+ "description": "",
235
+ "id": 2,
236
+ "locked": true,
237
+ "name": "LE",
238
+ "type": "lifecycleenv",
239
+ "value": "1",
240
+ },
241
+ ],
242
+ "hostgroup": "1",
243
+ "id": 1,
244
+ "maxCount": "",
245
+ "minCount": "2",
246
+ "name": "web",
247
+ },
248
+ Object {
249
+ "ansibleGroup": "dbservers",
250
+ "ansibleParameters": Array [
251
+ Object {
252
+ "id": 0,
253
+ "name": "mysqlservice",
254
+ "value": "mysqld",
255
+ },
256
+ Object {
257
+ "id": 1,
258
+ "locked": true,
259
+ "name": "mysql_port",
260
+ "value": "3306",
261
+ },
262
+ Object {
263
+ "id": 2,
264
+ "name": "dbuser",
265
+ "value": "webapp",
266
+ },
267
+ Object {
268
+ "id": 3,
269
+ "name": "dbname",
270
+ "value": "ANSAP01",
271
+ },
272
+ Object {
273
+ "id": 4,
274
+ "name": "upassword",
275
+ "value": "Bond@007",
276
+ },
277
+ Object {
278
+ "id": 5,
279
+ "name": "masterpassword",
280
+ "value": "MySQL@007",
281
+ },
282
+ ],
283
+ "backup": Object {
284
+ "ansibleGroup": "dbservers",
285
+ "ansibleParameters": Array [
286
+ Object {
287
+ "id": 0,
288
+ "name": "mysqlservice",
289
+ "value": "mysqld",
290
+ },
291
+ Object {
292
+ "id": 1,
293
+ "locked": true,
294
+ "name": "mysql_port",
295
+ "value": "3306",
296
+ },
297
+ Object {
298
+ "id": 2,
299
+ "name": "dbuser",
300
+ "value": "webapp",
301
+ },
302
+ Object {
303
+ "id": 3,
304
+ "name": "dbname",
305
+ "value": "ANSAP01",
306
+ },
307
+ Object {
308
+ "id": 4,
309
+ "name": "upassword",
310
+ "value": "Bond@007",
311
+ },
312
+ Object {
313
+ "id": 5,
314
+ "name": "masterpassword",
315
+ "value": "MySQL@007",
316
+ },
317
+ ],
318
+ "description": "",
319
+ "foremanParameters": Array [],
320
+ "hostgroup": "1",
321
+ "id": 2,
322
+ "maxCount": "",
323
+ "minCount": "1",
324
+ "name": "db",
325
+ },
326
+ "description": "",
327
+ "foremanParameters": Array [],
328
+ "hostgroup": "1",
329
+ "id": 2,
330
+ "maxCount": "",
331
+ "minCount": "1",
332
+ "name": "db",
333
+ },
334
+ ],
335
+ }
336
+ `;
337
+
338
+ exports[`ApplicationDefintionReducer should add a service 1`] = `
339
+ Object {
340
+ "ansiblePlaybook": Object {
341
+ "groups": Object {
342
+ "all": Array [
343
+ Object {
344
+ "id": 0,
345
+ "name": "repository",
346
+ "value": "https://github.com/bennojoy/mywebapp.git",
347
+ },
348
+ ],
349
+ "dbservers": Array [
350
+ Object {
351
+ "id": 0,
352
+ "name": "mysqlservice",
353
+ "value": "mysqld",
354
+ },
355
+ Object {
356
+ "id": 1,
357
+ "name": "mysql_port",
358
+ "value": "3306",
359
+ },
360
+ Object {
361
+ "id": 2,
362
+ "name": "dbuser",
363
+ "value": "webapp",
364
+ },
365
+ Object {
366
+ "id": 3,
367
+ "name": "dbname",
368
+ "value": "ANSAP01",
369
+ },
370
+ Object {
371
+ "id": 4,
372
+ "name": "upassword",
373
+ "value": "Bond@007",
374
+ },
375
+ Object {
376
+ "id": 5,
377
+ "name": "masterpassword",
378
+ "value": "MySQL@007",
379
+ },
380
+ ],
381
+ "webservers": Array [
382
+ Object {
383
+ "id": 0,
384
+ "name": "dummy_var",
385
+ "value": "0",
386
+ },
387
+ ],
388
+ },
389
+ "id": 2,
390
+ "name": "LAMP",
391
+ },
392
+ "ansibleVarsAll": Array [
393
+ Object {
394
+ "id": 0,
395
+ "name": "repository",
396
+ "value": "https://github.com/bennojoy/mywebapp.git",
397
+ },
398
+ ],
399
+ "columns": Array [
400
+ Object {
401
+ "cell": Object {
402
+ "formatters": Array [
403
+ null,
404
+ ],
405
+ },
406
+ "header": Object {
407
+ "formatters": Array [
408
+ null,
409
+ ],
410
+ "label": "Name",
411
+ "props": Object {
412
+ "index": 0,
413
+ "style": Object {
414
+ "width": "15%",
415
+ },
416
+ },
417
+ },
418
+ "property": "name",
419
+ },
420
+ Object {
421
+ "cell": Object {
422
+ "formatters": Array [
423
+ null,
424
+ ],
425
+ },
426
+ "header": Object {
427
+ "formatters": Array [
428
+ null,
429
+ ],
430
+ "label": "Description",
431
+ "props": Object {
432
+ "index": 1,
433
+ "style": Object {
434
+ "width": "10%",
435
+ },
436
+ },
437
+ },
438
+ "property": "description",
439
+ },
440
+ Object {
441
+ "cell": Object {
442
+ "formatters": Array [
443
+ null,
444
+ ],
445
+ },
446
+ "header": Object {
447
+ "formatters": Array [
448
+ null,
449
+ ],
450
+ "label": "Hostgroup",
451
+ "props": Object {
452
+ "index": 2,
453
+ "style": Object {
454
+ "width": "20%",
455
+ },
456
+ },
457
+ },
458
+ "property": "hostgroup",
459
+ },
460
+ Object {
461
+ "cell": Object {
462
+ "formatters": Array [
463
+ null,
464
+ ],
465
+ },
466
+ "header": Object {
467
+ "formatters": Array [
468
+ null,
469
+ ],
470
+ "label": "Ansible Group",
471
+ "props": Object {
472
+ "index": 3,
473
+ "style": Object {
474
+ "width": "20%",
475
+ },
476
+ },
477
+ },
478
+ "property": "ansibleGroup",
479
+ },
480
+ Object {
481
+ "cell": Object {
482
+ "formatters": Array [
483
+ null,
484
+ ],
485
+ },
486
+ "header": Object {
487
+ "formatters": Array [
488
+ null,
489
+ ],
490
+ "label": "min count",
491
+ "props": Object {
492
+ "index": 4,
493
+ "style": Object {
494
+ "width": "10%",
495
+ },
496
+ },
497
+ },
498
+ "property": "minCount",
499
+ },
500
+ Object {
501
+ "cell": Object {
502
+ "formatters": Array [
503
+ null,
504
+ ],
505
+ },
506
+ "header": Object {
507
+ "formatters": Array [
508
+ null,
509
+ ],
510
+ "label": "max count",
511
+ "props": Object {
512
+ "index": 5,
513
+ "style": Object {
514
+ "width": "10%",
515
+ },
516
+ },
517
+ },
518
+ "property": "maxCount",
519
+ },
520
+ Object {
521
+ "cell": Object {
522
+ "formatters": Array [
523
+ null,
524
+ ],
525
+ },
526
+ "header": Object {
527
+ "formatters": Array [
528
+ null,
529
+ ],
530
+ "label": "Actions",
531
+ "props": Object {
532
+ "index": 6,
533
+ "style": Object {
534
+ "width": "15%",
535
+ },
536
+ },
537
+ },
538
+ "property": "actions",
539
+ },
540
+ ],
541
+ "editMode": true,
542
+ "error": Object {
543
+ "errorMsg": "",
544
+ "status": "",
545
+ "statusText": "",
546
+ },
547
+ "name": false,
548
+ "services": Array [
549
+ Object {
550
+ "ansibleGroup": "webservers",
551
+ "ansibleParameters": Array [
552
+ Object {
553
+ "id": 0,
554
+ "name": "dummy_var",
555
+ "value": "0",
556
+ },
557
+ ],
558
+ "description": "",
559
+ "foremanParameters": Array [
560
+ Object {
561
+ "description": "",
562
+ "id": 1,
563
+ "locked": false,
564
+ "name": "CP",
565
+ "type": "computeprofile",
566
+ "value": "1",
567
+ },
568
+ Object {
569
+ "description": "",
570
+ "id": 2,
571
+ "locked": true,
572
+ "name": "LE",
573
+ "type": "lifecycleenv",
574
+ "value": "1",
575
+ },
576
+ ],
577
+ "hostgroup": "1",
578
+ "id": 1,
579
+ "maxCount": "",
580
+ "minCount": "2",
581
+ "name": "web",
582
+ },
583
+ Object {
584
+ "ansibleGroup": "dbservers",
585
+ "ansibleParameters": Array [
586
+ Object {
587
+ "id": 0,
588
+ "name": "mysqlservice",
589
+ "value": "mysqld",
590
+ },
591
+ Object {
592
+ "id": 1,
593
+ "locked": true,
594
+ "name": "mysql_port",
595
+ "value": "3306",
596
+ },
597
+ Object {
598
+ "id": 2,
599
+ "name": "dbuser",
600
+ "value": "webapp",
601
+ },
602
+ Object {
603
+ "id": 3,
604
+ "name": "dbname",
605
+ "value": "ANSAP01",
606
+ },
607
+ Object {
608
+ "id": 4,
609
+ "name": "upassword",
610
+ "value": "Bond@007",
611
+ },
612
+ Object {
613
+ "id": 5,
614
+ "name": "masterpassword",
615
+ "value": "MySQL@007",
616
+ },
617
+ ],
618
+ "description": "",
619
+ "foremanParameters": Array [],
620
+ "hostgroup": "1",
621
+ "id": 2,
622
+ "maxCount": "",
623
+ "minCount": "1",
624
+ "name": "db",
625
+ },
626
+ Object {
627
+ "ansibleGroup": "",
628
+ "ansibleParameters": Array [],
629
+ "backup": Object {
630
+ "ansibleGroup": "",
631
+ "ansibleParameters": Array [],
632
+ "description": "",
633
+ "foremanParameters": Array [],
634
+ "hostgroup": "",
635
+ "id": 3,
636
+ "maxCount": "",
637
+ "minCount": "",
638
+ "name": "",
639
+ "newEntry": true,
640
+ },
641
+ "description": "",
642
+ "foremanParameters": Array [],
643
+ "hostgroup": "",
644
+ "id": 3,
645
+ "maxCount": "",
646
+ "minCount": "",
647
+ "name": "",
648
+ "newEntry": true,
649
+ },
650
+ ],
651
+ }
652
+ `;
653
+
654
+ exports[`ApplicationDefintionReducer should cancel edit service 1`] = `
655
+ Object {
656
+ "ansiblePlaybook": Object {
657
+ "groups": Object {
658
+ "all": Array [
659
+ Object {
660
+ "id": 0,
661
+ "name": "repository",
662
+ "value": "https://github.com/bennojoy/mywebapp.git",
663
+ },
664
+ ],
665
+ "dbservers": Array [
666
+ Object {
667
+ "id": 0,
668
+ "name": "mysqlservice",
669
+ "value": "mysqld",
670
+ },
671
+ Object {
672
+ "id": 1,
673
+ "name": "mysql_port",
674
+ "value": "3306",
675
+ },
676
+ Object {
677
+ "id": 2,
678
+ "name": "dbuser",
679
+ "value": "webapp",
680
+ },
681
+ Object {
682
+ "id": 3,
683
+ "name": "dbname",
684
+ "value": "ANSAP01",
685
+ },
686
+ Object {
687
+ "id": 4,
688
+ "name": "upassword",
689
+ "value": "Bond@007",
690
+ },
691
+ Object {
692
+ "id": 5,
693
+ "name": "masterpassword",
694
+ "value": "MySQL@007",
695
+ },
696
+ ],
697
+ "webservers": Array [
698
+ Object {
699
+ "id": 0,
700
+ "name": "dummy_var",
701
+ "value": "0",
702
+ },
703
+ ],
704
+ },
705
+ "id": 2,
706
+ "name": "LAMP",
707
+ },
708
+ "ansibleVarsAll": Array [
709
+ Object {
710
+ "id": 0,
711
+ "name": "repository",
712
+ "value": "https://github.com/bennojoy/mywebapp.git",
713
+ },
714
+ ],
715
+ "columns": Array [
716
+ Object {
717
+ "cell": Object {
718
+ "formatters": Array [
719
+ null,
720
+ ],
721
+ },
722
+ "header": Object {
723
+ "formatters": Array [
724
+ null,
725
+ ],
726
+ "label": "Name",
727
+ "props": Object {
728
+ "index": 0,
729
+ "style": Object {
730
+ "width": "15%",
731
+ },
732
+ },
733
+ },
734
+ "property": "name",
735
+ },
736
+ Object {
737
+ "cell": Object {
738
+ "formatters": Array [
739
+ null,
740
+ ],
741
+ },
742
+ "header": Object {
743
+ "formatters": Array [
744
+ null,
745
+ ],
746
+ "label": "Description",
747
+ "props": Object {
748
+ "index": 1,
749
+ "style": Object {
750
+ "width": "10%",
751
+ },
752
+ },
753
+ },
754
+ "property": "description",
755
+ },
756
+ Object {
757
+ "cell": Object {
758
+ "formatters": Array [
759
+ null,
760
+ ],
761
+ },
762
+ "header": Object {
763
+ "formatters": Array [
764
+ null,
765
+ ],
766
+ "label": "Hostgroup",
767
+ "props": Object {
768
+ "index": 2,
769
+ "style": Object {
770
+ "width": "20%",
771
+ },
772
+ },
773
+ },
774
+ "property": "hostgroup",
775
+ },
776
+ Object {
777
+ "cell": Object {
778
+ "formatters": Array [
779
+ null,
780
+ ],
781
+ },
782
+ "header": Object {
783
+ "formatters": Array [
784
+ null,
785
+ ],
786
+ "label": "Ansible Group",
787
+ "props": Object {
788
+ "index": 3,
789
+ "style": Object {
790
+ "width": "20%",
791
+ },
792
+ },
793
+ },
794
+ "property": "ansibleGroup",
795
+ },
796
+ Object {
797
+ "cell": Object {
798
+ "formatters": Array [
799
+ null,
800
+ ],
801
+ },
802
+ "header": Object {
803
+ "formatters": Array [
804
+ null,
805
+ ],
806
+ "label": "min count",
807
+ "props": Object {
808
+ "index": 4,
809
+ "style": Object {
810
+ "width": "10%",
811
+ },
812
+ },
813
+ },
814
+ "property": "minCount",
815
+ },
816
+ Object {
817
+ "cell": Object {
818
+ "formatters": Array [
819
+ null,
820
+ ],
821
+ },
822
+ "header": Object {
823
+ "formatters": Array [
824
+ null,
825
+ ],
826
+ "label": "max count",
827
+ "props": Object {
828
+ "index": 5,
829
+ "style": Object {
830
+ "width": "10%",
831
+ },
832
+ },
833
+ },
834
+ "property": "maxCount",
835
+ },
836
+ Object {
837
+ "cell": Object {
838
+ "formatters": Array [
839
+ null,
840
+ ],
841
+ },
842
+ "header": Object {
843
+ "formatters": Array [
844
+ null,
845
+ ],
846
+ "label": "Actions",
847
+ "props": Object {
848
+ "index": 6,
849
+ "style": Object {
850
+ "width": "15%",
851
+ },
852
+ },
853
+ },
854
+ "property": "actions",
855
+ },
856
+ ],
857
+ "editMode": false,
858
+ "error": Object {
859
+ "errorMsg": "",
860
+ "status": "",
861
+ "statusText": "",
862
+ },
863
+ "name": false,
864
+ "services": Array [
865
+ Object {
866
+ "ansibleGroup": "webservers",
867
+ "ansibleParameters": Array [
868
+ Object {
869
+ "id": 0,
870
+ "name": "dummy_var",
871
+ "value": "0",
872
+ },
873
+ ],
874
+ "description": "",
875
+ "foremanParameters": Array [
876
+ Object {
877
+ "description": "",
878
+ "id": 1,
879
+ "locked": false,
880
+ "name": "CP",
881
+ "type": "computeprofile",
882
+ "value": "1",
883
+ },
884
+ Object {
885
+ "description": "",
886
+ "id": 2,
887
+ "locked": true,
888
+ "name": "LE",
889
+ "type": "lifecycleenv",
890
+ "value": "1",
891
+ },
892
+ ],
893
+ "hostgroup": "1",
894
+ "id": 1,
895
+ "maxCount": "",
896
+ "minCount": "2",
897
+ "name": "web",
898
+ },
899
+ Object {
900
+ "ansibleGroup": "dbservers",
901
+ "ansibleParameters": Array [
902
+ Object {
903
+ "id": 0,
904
+ "name": "mysqlservice",
905
+ "value": "mysqld",
906
+ },
907
+ Object {
908
+ "id": 1,
909
+ "locked": true,
910
+ "name": "mysql_port",
911
+ "value": "3306",
912
+ },
913
+ Object {
914
+ "id": 2,
915
+ "name": "dbuser",
916
+ "value": "webapp",
917
+ },
918
+ Object {
919
+ "id": 3,
920
+ "name": "dbname",
921
+ "value": "ANSAP01",
922
+ },
923
+ Object {
924
+ "id": 4,
925
+ "name": "upassword",
926
+ "value": "Bond@007",
927
+ },
928
+ Object {
929
+ "id": 5,
930
+ "name": "masterpassword",
931
+ "value": "MySQL@007",
932
+ },
933
+ ],
934
+ "description": "",
935
+ "foremanParameters": Array [],
936
+ "hostgroup": "1",
937
+ "id": 2,
938
+ "maxCount": "",
939
+ "minCount": "1",
940
+ "name": "db",
941
+ },
942
+ ],
943
+ }
944
+ `;
945
+
946
+ exports[`ApplicationDefintionReducer should change edit service 1`] = `
947
+ Object {
948
+ "ansiblePlaybook": Object {
949
+ "groups": Object {
950
+ "all": Array [
951
+ Object {
952
+ "id": 0,
953
+ "name": "repository",
954
+ "value": "https://github.com/bennojoy/mywebapp.git",
955
+ },
956
+ ],
957
+ "dbservers": Array [
958
+ Object {
959
+ "id": 0,
960
+ "name": "mysqlservice",
961
+ "value": "mysqld",
962
+ },
963
+ Object {
964
+ "id": 1,
965
+ "name": "mysql_port",
966
+ "value": "3306",
967
+ },
968
+ Object {
969
+ "id": 2,
970
+ "name": "dbuser",
971
+ "value": "webapp",
972
+ },
973
+ Object {
974
+ "id": 3,
975
+ "name": "dbname",
976
+ "value": "ANSAP01",
977
+ },
978
+ Object {
979
+ "id": 4,
980
+ "name": "upassword",
981
+ "value": "Bond@007",
982
+ },
983
+ Object {
984
+ "id": 5,
985
+ "name": "masterpassword",
986
+ "value": "MySQL@007",
987
+ },
988
+ ],
989
+ "webservers": Array [
990
+ Object {
991
+ "id": 0,
992
+ "name": "dummy_var",
993
+ "value": "0",
994
+ },
995
+ ],
996
+ },
997
+ "id": 2,
998
+ "name": "LAMP",
999
+ },
1000
+ "ansibleVarsAll": Array [
1001
+ Object {
1002
+ "id": 0,
1003
+ "name": "repository",
1004
+ "value": "https://github.com/bennojoy/mywebapp.git",
1005
+ },
1006
+ ],
1007
+ "columns": Array [
1008
+ Object {
1009
+ "cell": Object {
1010
+ "formatters": Array [
1011
+ null,
1012
+ ],
1013
+ },
1014
+ "header": Object {
1015
+ "formatters": Array [
1016
+ null,
1017
+ ],
1018
+ "label": "Name",
1019
+ "props": Object {
1020
+ "index": 0,
1021
+ "style": Object {
1022
+ "width": "15%",
1023
+ },
1024
+ },
1025
+ },
1026
+ "property": "name",
1027
+ },
1028
+ Object {
1029
+ "cell": Object {
1030
+ "formatters": Array [
1031
+ null,
1032
+ ],
1033
+ },
1034
+ "header": Object {
1035
+ "formatters": Array [
1036
+ null,
1037
+ ],
1038
+ "label": "Description",
1039
+ "props": Object {
1040
+ "index": 1,
1041
+ "style": Object {
1042
+ "width": "10%",
1043
+ },
1044
+ },
1045
+ },
1046
+ "property": "description",
1047
+ },
1048
+ Object {
1049
+ "cell": Object {
1050
+ "formatters": Array [
1051
+ null,
1052
+ ],
1053
+ },
1054
+ "header": Object {
1055
+ "formatters": Array [
1056
+ null,
1057
+ ],
1058
+ "label": "Hostgroup",
1059
+ "props": Object {
1060
+ "index": 2,
1061
+ "style": Object {
1062
+ "width": "20%",
1063
+ },
1064
+ },
1065
+ },
1066
+ "property": "hostgroup",
1067
+ },
1068
+ Object {
1069
+ "cell": Object {
1070
+ "formatters": Array [
1071
+ null,
1072
+ ],
1073
+ },
1074
+ "header": Object {
1075
+ "formatters": Array [
1076
+ null,
1077
+ ],
1078
+ "label": "Ansible Group",
1079
+ "props": Object {
1080
+ "index": 3,
1081
+ "style": Object {
1082
+ "width": "20%",
1083
+ },
1084
+ },
1085
+ },
1086
+ "property": "ansibleGroup",
1087
+ },
1088
+ Object {
1089
+ "cell": Object {
1090
+ "formatters": Array [
1091
+ null,
1092
+ ],
1093
+ },
1094
+ "header": Object {
1095
+ "formatters": Array [
1096
+ null,
1097
+ ],
1098
+ "label": "min count",
1099
+ "props": Object {
1100
+ "index": 4,
1101
+ "style": Object {
1102
+ "width": "10%",
1103
+ },
1104
+ },
1105
+ },
1106
+ "property": "minCount",
1107
+ },
1108
+ Object {
1109
+ "cell": Object {
1110
+ "formatters": Array [
1111
+ null,
1112
+ ],
1113
+ },
1114
+ "header": Object {
1115
+ "formatters": Array [
1116
+ null,
1117
+ ],
1118
+ "label": "max count",
1119
+ "props": Object {
1120
+ "index": 5,
1121
+ "style": Object {
1122
+ "width": "10%",
1123
+ },
1124
+ },
1125
+ },
1126
+ "property": "maxCount",
1127
+ },
1128
+ Object {
1129
+ "cell": Object {
1130
+ "formatters": Array [
1131
+ null,
1132
+ ],
1133
+ },
1134
+ "header": Object {
1135
+ "formatters": Array [
1136
+ null,
1137
+ ],
1138
+ "label": "Actions",
1139
+ "props": Object {
1140
+ "index": 6,
1141
+ "style": Object {
1142
+ "width": "15%",
1143
+ },
1144
+ },
1145
+ },
1146
+ "property": "actions",
1147
+ },
1148
+ ],
1149
+ "error": Object {
1150
+ "errorMsg": "",
1151
+ "status": "",
1152
+ "statusText": "",
1153
+ },
1154
+ "name": false,
1155
+ "services": Array [
1156
+ Object {
1157
+ "ansibleGroup": "webservers",
1158
+ "ansibleParameters": Array [
1159
+ Object {
1160
+ "id": 0,
1161
+ "name": "dummy_var",
1162
+ "value": "0",
1163
+ },
1164
+ ],
1165
+ "description": "",
1166
+ "foremanParameters": Array [
1167
+ Object {
1168
+ "description": "",
1169
+ "id": 1,
1170
+ "locked": false,
1171
+ "name": "CP",
1172
+ "type": "computeprofile",
1173
+ "value": "1",
1174
+ },
1175
+ Object {
1176
+ "description": "",
1177
+ "id": 2,
1178
+ "locked": true,
1179
+ "name": "LE",
1180
+ "type": "lifecycleenv",
1181
+ "value": "1",
1182
+ },
1183
+ ],
1184
+ "hostgroup": "1",
1185
+ "id": 1,
1186
+ "maxCount": "",
1187
+ "minCount": "2",
1188
+ "name": "web",
1189
+ },
1190
+ Object {
1191
+ "ansibleGroup": "dbservers",
1192
+ "ansibleParameters": Array [
1193
+ Object {
1194
+ "id": 0,
1195
+ "name": "mysqlservice",
1196
+ "value": "mysqld",
1197
+ },
1198
+ Object {
1199
+ "id": 1,
1200
+ "locked": true,
1201
+ "name": "mysql_port",
1202
+ "value": "3306",
1203
+ },
1204
+ Object {
1205
+ "id": 2,
1206
+ "name": "dbuser",
1207
+ "value": "webapp",
1208
+ },
1209
+ Object {
1210
+ "id": 3,
1211
+ "name": "dbname",
1212
+ "value": "ANSAP01",
1213
+ },
1214
+ Object {
1215
+ "id": 4,
1216
+ "name": "upassword",
1217
+ "value": "Bond@007",
1218
+ },
1219
+ Object {
1220
+ "id": 5,
1221
+ "name": "masterpassword",
1222
+ "value": "MySQL@007",
1223
+ },
1224
+ ],
1225
+ "backup": Object {
1226
+ "ansibleGroup": "dbservers",
1227
+ "ansibleParameters": Array [
1228
+ Object {
1229
+ "id": 0,
1230
+ "name": "mysqlservice",
1231
+ "value": "mysqld",
1232
+ },
1233
+ Object {
1234
+ "id": 1,
1235
+ "locked": true,
1236
+ "name": "mysql_port",
1237
+ "value": "3306",
1238
+ },
1239
+ Object {
1240
+ "id": 2,
1241
+ "name": "dbuser",
1242
+ "value": "webapp",
1243
+ },
1244
+ Object {
1245
+ "id": 3,
1246
+ "name": "dbname",
1247
+ "value": "ANSAP01",
1248
+ },
1249
+ Object {
1250
+ "id": 4,
1251
+ "name": "upassword",
1252
+ "value": "Bond@007",
1253
+ },
1254
+ Object {
1255
+ "id": 5,
1256
+ "name": "masterpassword",
1257
+ "value": "MySQL@007",
1258
+ },
1259
+ ],
1260
+ "description": "",
1261
+ "foremanParameters": Array [],
1262
+ "hostgroup": "1",
1263
+ "id": 2,
1264
+ "maxCount": "",
1265
+ "minCount": "1",
1266
+ "name": "db",
1267
+ },
1268
+ "description": "",
1269
+ "foremanParameters": Array [],
1270
+ "hostgroup": "1",
1271
+ "id": 2,
1272
+ "maxCount": "",
1273
+ "minCount": "1",
1274
+ "name": "helloworld",
1275
+ },
1276
+ ],
1277
+ }
1278
+ `;
1279
+
1280
+ exports[`ApplicationDefintionReducer should confirm edit service 1`] = `
1281
+ Object {
1282
+ "ansiblePlaybook": Object {
1283
+ "groups": Object {
1284
+ "all": Array [
1285
+ Object {
1286
+ "id": 0,
1287
+ "name": "repository",
1288
+ "value": "https://github.com/bennojoy/mywebapp.git",
1289
+ },
1290
+ ],
1291
+ "dbservers": Array [
1292
+ Object {
1293
+ "id": 0,
1294
+ "name": "mysqlservice",
1295
+ "value": "mysqld",
1296
+ },
1297
+ Object {
1298
+ "id": 1,
1299
+ "name": "mysql_port",
1300
+ "value": "3306",
1301
+ },
1302
+ Object {
1303
+ "id": 2,
1304
+ "name": "dbuser",
1305
+ "value": "webapp",
1306
+ },
1307
+ Object {
1308
+ "id": 3,
1309
+ "name": "dbname",
1310
+ "value": "ANSAP01",
1311
+ },
1312
+ Object {
1313
+ "id": 4,
1314
+ "name": "upassword",
1315
+ "value": "Bond@007",
1316
+ },
1317
+ Object {
1318
+ "id": 5,
1319
+ "name": "masterpassword",
1320
+ "value": "MySQL@007",
1321
+ },
1322
+ ],
1323
+ "webservers": Array [
1324
+ Object {
1325
+ "id": 0,
1326
+ "name": "dummy_var",
1327
+ "value": "0",
1328
+ },
1329
+ ],
1330
+ },
1331
+ "id": 2,
1332
+ "name": "LAMP",
1333
+ },
1334
+ "ansibleVarsAll": Array [
1335
+ Object {
1336
+ "id": 0,
1337
+ "name": "repository",
1338
+ "value": "https://github.com/bennojoy/mywebapp.git",
1339
+ },
1340
+ ],
1341
+ "columns": Array [
1342
+ Object {
1343
+ "cell": Object {
1344
+ "formatters": Array [
1345
+ null,
1346
+ ],
1347
+ },
1348
+ "header": Object {
1349
+ "formatters": Array [
1350
+ null,
1351
+ ],
1352
+ "label": "Name",
1353
+ "props": Object {
1354
+ "index": 0,
1355
+ "style": Object {
1356
+ "width": "15%",
1357
+ },
1358
+ },
1359
+ },
1360
+ "property": "name",
1361
+ },
1362
+ Object {
1363
+ "cell": Object {
1364
+ "formatters": Array [
1365
+ null,
1366
+ ],
1367
+ },
1368
+ "header": Object {
1369
+ "formatters": Array [
1370
+ null,
1371
+ ],
1372
+ "label": "Description",
1373
+ "props": Object {
1374
+ "index": 1,
1375
+ "style": Object {
1376
+ "width": "10%",
1377
+ },
1378
+ },
1379
+ },
1380
+ "property": "description",
1381
+ },
1382
+ Object {
1383
+ "cell": Object {
1384
+ "formatters": Array [
1385
+ null,
1386
+ ],
1387
+ },
1388
+ "header": Object {
1389
+ "formatters": Array [
1390
+ null,
1391
+ ],
1392
+ "label": "Hostgroup",
1393
+ "props": Object {
1394
+ "index": 2,
1395
+ "style": Object {
1396
+ "width": "20%",
1397
+ },
1398
+ },
1399
+ },
1400
+ "property": "hostgroup",
1401
+ },
1402
+ Object {
1403
+ "cell": Object {
1404
+ "formatters": Array [
1405
+ null,
1406
+ ],
1407
+ },
1408
+ "header": Object {
1409
+ "formatters": Array [
1410
+ null,
1411
+ ],
1412
+ "label": "Ansible Group",
1413
+ "props": Object {
1414
+ "index": 3,
1415
+ "style": Object {
1416
+ "width": "20%",
1417
+ },
1418
+ },
1419
+ },
1420
+ "property": "ansibleGroup",
1421
+ },
1422
+ Object {
1423
+ "cell": Object {
1424
+ "formatters": Array [
1425
+ null,
1426
+ ],
1427
+ },
1428
+ "header": Object {
1429
+ "formatters": Array [
1430
+ null,
1431
+ ],
1432
+ "label": "min count",
1433
+ "props": Object {
1434
+ "index": 4,
1435
+ "style": Object {
1436
+ "width": "10%",
1437
+ },
1438
+ },
1439
+ },
1440
+ "property": "minCount",
1441
+ },
1442
+ Object {
1443
+ "cell": Object {
1444
+ "formatters": Array [
1445
+ null,
1446
+ ],
1447
+ },
1448
+ "header": Object {
1449
+ "formatters": Array [
1450
+ null,
1451
+ ],
1452
+ "label": "max count",
1453
+ "props": Object {
1454
+ "index": 5,
1455
+ "style": Object {
1456
+ "width": "10%",
1457
+ },
1458
+ },
1459
+ },
1460
+ "property": "maxCount",
1461
+ },
1462
+ Object {
1463
+ "cell": Object {
1464
+ "formatters": Array [
1465
+ null,
1466
+ ],
1467
+ },
1468
+ "header": Object {
1469
+ "formatters": Array [
1470
+ null,
1471
+ ],
1472
+ "label": "Actions",
1473
+ "props": Object {
1474
+ "index": 6,
1475
+ "style": Object {
1476
+ "width": "15%",
1477
+ },
1478
+ },
1479
+ },
1480
+ "property": "actions",
1481
+ },
1482
+ ],
1483
+ "editMode": false,
1484
+ "error": Object {
1485
+ "errorMsg": "",
1486
+ "status": "",
1487
+ "statusText": "",
1488
+ },
1489
+ "name": false,
1490
+ "services": Array [
1491
+ Object {
1492
+ "ansibleGroup": "webservers",
1493
+ "ansibleParameters": Array [
1494
+ Object {
1495
+ "id": 0,
1496
+ "name": "dummy_var",
1497
+ "value": "0",
1498
+ },
1499
+ ],
1500
+ "description": "",
1501
+ "foremanParameters": Array [
1502
+ Object {
1503
+ "description": "",
1504
+ "id": 1,
1505
+ "locked": false,
1506
+ "name": "CP",
1507
+ "type": "computeprofile",
1508
+ "value": "1",
1509
+ },
1510
+ Object {
1511
+ "description": "",
1512
+ "id": 2,
1513
+ "locked": true,
1514
+ "name": "LE",
1515
+ "type": "lifecycleenv",
1516
+ "value": "1",
1517
+ },
1518
+ ],
1519
+ "hostgroup": "1",
1520
+ "id": 1,
1521
+ "maxCount": "",
1522
+ "minCount": "2",
1523
+ "name": "web",
1524
+ },
1525
+ Object {
1526
+ "ansibleGroup": "dbservers",
1527
+ "ansibleParameters": Array [
1528
+ Object {
1529
+ "id": 0,
1530
+ "name": "mysqlservice",
1531
+ "value": "mysqld",
1532
+ },
1533
+ Object {
1534
+ "id": 1,
1535
+ "name": "mysql_port",
1536
+ "value": "3306",
1537
+ },
1538
+ Object {
1539
+ "id": 2,
1540
+ "name": "dbuser",
1541
+ "value": "webapp",
1542
+ },
1543
+ Object {
1544
+ "id": 3,
1545
+ "name": "dbname",
1546
+ "value": "ANSAP01",
1547
+ },
1548
+ Object {
1549
+ "id": 4,
1550
+ "name": "upassword",
1551
+ "value": "Bond@007",
1552
+ },
1553
+ Object {
1554
+ "id": 5,
1555
+ "name": "masterpassword",
1556
+ "value": "MySQL@007",
1557
+ },
1558
+ ],
1559
+ "description": "",
1560
+ "foremanParameters": Array [],
1561
+ "hostgroup": "1",
1562
+ "id": 2,
1563
+ "maxCount": "",
1564
+ "minCount": "1",
1565
+ "name": "db",
1566
+ },
1567
+ ],
1568
+ }
1569
+ `;
1570
+
1571
+ exports[`ApplicationDefintionReducer should delete a service 1`] = `
1572
+ Object {
1573
+ "ansiblePlaybook": Object {
1574
+ "groups": Object {
1575
+ "all": Array [
1576
+ Object {
1577
+ "id": 0,
1578
+ "name": "repository",
1579
+ "value": "https://github.com/bennojoy/mywebapp.git",
1580
+ },
1581
+ ],
1582
+ "dbservers": Array [
1583
+ Object {
1584
+ "id": 0,
1585
+ "name": "mysqlservice",
1586
+ "value": "mysqld",
1587
+ },
1588
+ Object {
1589
+ "id": 1,
1590
+ "name": "mysql_port",
1591
+ "value": "3306",
1592
+ },
1593
+ Object {
1594
+ "id": 2,
1595
+ "name": "dbuser",
1596
+ "value": "webapp",
1597
+ },
1598
+ Object {
1599
+ "id": 3,
1600
+ "name": "dbname",
1601
+ "value": "ANSAP01",
1602
+ },
1603
+ Object {
1604
+ "id": 4,
1605
+ "name": "upassword",
1606
+ "value": "Bond@007",
1607
+ },
1608
+ Object {
1609
+ "id": 5,
1610
+ "name": "masterpassword",
1611
+ "value": "MySQL@007",
1612
+ },
1613
+ ],
1614
+ "webservers": Array [
1615
+ Object {
1616
+ "id": 0,
1617
+ "name": "dummy_var",
1618
+ "value": "0",
1619
+ },
1620
+ ],
1621
+ },
1622
+ "id": 2,
1623
+ "name": "LAMP",
1624
+ },
1625
+ "ansibleVarsAll": Array [
1626
+ Object {
1627
+ "id": 0,
1628
+ "name": "repository",
1629
+ "value": "https://github.com/bennojoy/mywebapp.git",
1630
+ },
1631
+ ],
1632
+ "columns": Array [
1633
+ Object {
1634
+ "cell": Object {
1635
+ "formatters": Array [
1636
+ null,
1637
+ ],
1638
+ },
1639
+ "header": Object {
1640
+ "formatters": Array [
1641
+ null,
1642
+ ],
1643
+ "label": "Name",
1644
+ "props": Object {
1645
+ "index": 0,
1646
+ "style": Object {
1647
+ "width": "15%",
1648
+ },
1649
+ },
1650
+ },
1651
+ "property": "name",
1652
+ },
1653
+ Object {
1654
+ "cell": Object {
1655
+ "formatters": Array [
1656
+ null,
1657
+ ],
1658
+ },
1659
+ "header": Object {
1660
+ "formatters": Array [
1661
+ null,
1662
+ ],
1663
+ "label": "Description",
1664
+ "props": Object {
1665
+ "index": 1,
1666
+ "style": Object {
1667
+ "width": "10%",
1668
+ },
1669
+ },
1670
+ },
1671
+ "property": "description",
1672
+ },
1673
+ Object {
1674
+ "cell": Object {
1675
+ "formatters": Array [
1676
+ null,
1677
+ ],
1678
+ },
1679
+ "header": Object {
1680
+ "formatters": Array [
1681
+ null,
1682
+ ],
1683
+ "label": "Hostgroup",
1684
+ "props": Object {
1685
+ "index": 2,
1686
+ "style": Object {
1687
+ "width": "20%",
1688
+ },
1689
+ },
1690
+ },
1691
+ "property": "hostgroup",
1692
+ },
1693
+ Object {
1694
+ "cell": Object {
1695
+ "formatters": Array [
1696
+ null,
1697
+ ],
1698
+ },
1699
+ "header": Object {
1700
+ "formatters": Array [
1701
+ null,
1702
+ ],
1703
+ "label": "Ansible Group",
1704
+ "props": Object {
1705
+ "index": 3,
1706
+ "style": Object {
1707
+ "width": "20%",
1708
+ },
1709
+ },
1710
+ },
1711
+ "property": "ansibleGroup",
1712
+ },
1713
+ Object {
1714
+ "cell": Object {
1715
+ "formatters": Array [
1716
+ null,
1717
+ ],
1718
+ },
1719
+ "header": Object {
1720
+ "formatters": Array [
1721
+ null,
1722
+ ],
1723
+ "label": "min count",
1724
+ "props": Object {
1725
+ "index": 4,
1726
+ "style": Object {
1727
+ "width": "10%",
1728
+ },
1729
+ },
1730
+ },
1731
+ "property": "minCount",
1732
+ },
1733
+ Object {
1734
+ "cell": Object {
1735
+ "formatters": Array [
1736
+ null,
1737
+ ],
1738
+ },
1739
+ "header": Object {
1740
+ "formatters": Array [
1741
+ null,
1742
+ ],
1743
+ "label": "max count",
1744
+ "props": Object {
1745
+ "index": 5,
1746
+ "style": Object {
1747
+ "width": "10%",
1748
+ },
1749
+ },
1750
+ },
1751
+ "property": "maxCount",
1752
+ },
1753
+ Object {
1754
+ "cell": Object {
1755
+ "formatters": Array [
1756
+ null,
1757
+ ],
1758
+ },
1759
+ "header": Object {
1760
+ "formatters": Array [
1761
+ null,
1762
+ ],
1763
+ "label": "Actions",
1764
+ "props": Object {
1765
+ "index": 6,
1766
+ "style": Object {
1767
+ "width": "15%",
1768
+ },
1769
+ },
1770
+ },
1771
+ "property": "actions",
1772
+ },
1773
+ ],
1774
+ "error": Object {
1775
+ "errorMsg": "",
1776
+ "status": "",
1777
+ "statusText": "",
1778
+ },
1779
+ "name": false,
1780
+ "services": Array [
1781
+ Object {
1782
+ "ansibleGroup": "webservers",
1783
+ "ansibleParameters": Array [
1784
+ Object {
1785
+ "id": 0,
1786
+ "name": "dummy_var",
1787
+ "value": "0",
1788
+ },
1789
+ ],
1790
+ "description": "",
1791
+ "foremanParameters": Array [
1792
+ Object {
1793
+ "description": "",
1794
+ "id": 1,
1795
+ "locked": false,
1796
+ "name": "CP",
1797
+ "type": "computeprofile",
1798
+ "value": "1",
1799
+ },
1800
+ Object {
1801
+ "description": "",
1802
+ "id": 2,
1803
+ "locked": true,
1804
+ "name": "LE",
1805
+ "type": "lifecycleenv",
1806
+ "value": "1",
1807
+ },
1808
+ ],
1809
+ "hostgroup": "1",
1810
+ "id": 1,
1811
+ "maxCount": "",
1812
+ "minCount": "2",
1813
+ "name": "web",
1814
+ },
1815
+ ],
1816
+ }
1817
+ `;
1818
+
1819
+ exports[`ApplicationDefintionReducer should initialize component 1`] = `
1820
+ Object {
1821
+ "ansiblePlaybook": Object {
1822
+ "groups": Object {
1823
+ "all": Array [
1824
+ Object {
1825
+ "id": 0,
1826
+ "name": "repository",
1827
+ "value": "https://github.com/bennojoy/mywebapp.git",
1828
+ },
1829
+ ],
1830
+ "dbservers": Array [
1831
+ Object {
1832
+ "id": 0,
1833
+ "name": "mysqlservice",
1834
+ "value": "mysqld",
1835
+ },
1836
+ Object {
1837
+ "id": 1,
1838
+ "name": "mysql_port",
1839
+ "value": "3306",
1840
+ },
1841
+ Object {
1842
+ "id": 2,
1843
+ "name": "dbuser",
1844
+ "value": "webapp",
1845
+ },
1846
+ Object {
1847
+ "id": 3,
1848
+ "name": "dbname",
1849
+ "value": "ANSAP01",
1850
+ },
1851
+ Object {
1852
+ "id": 4,
1853
+ "name": "upassword",
1854
+ "value": "Bond@007",
1855
+ },
1856
+ Object {
1857
+ "id": 5,
1858
+ "name": "masterpassword",
1859
+ "value": "MySQL@007",
1860
+ },
1861
+ ],
1862
+ "webservers": Array [
1863
+ Object {
1864
+ "id": 0,
1865
+ "name": "dummy_var",
1866
+ "value": "0",
1867
+ },
1868
+ ],
1869
+ },
1870
+ "id": 2,
1871
+ "name": "LAMP",
1872
+ },
1873
+ "ansibleVarsAll": Array [
1874
+ Object {
1875
+ "id": 0,
1876
+ "name": "repository",
1877
+ "value": "https://github.com/bennojoy/mywebapp.git",
1878
+ },
1879
+ ],
1880
+ "columns": Array [
1881
+ Object {
1882
+ "cell": Object {
1883
+ "formatters": Array [
1884
+ null,
1885
+ ],
1886
+ },
1887
+ "header": Object {
1888
+ "formatters": Array [
1889
+ null,
1890
+ ],
1891
+ "label": "Name",
1892
+ "props": Object {
1893
+ "index": 0,
1894
+ "style": Object {
1895
+ "width": "15%",
1896
+ },
1897
+ },
1898
+ },
1899
+ "property": "name",
1900
+ },
1901
+ Object {
1902
+ "cell": Object {
1903
+ "formatters": Array [
1904
+ null,
1905
+ ],
1906
+ },
1907
+ "header": Object {
1908
+ "formatters": Array [
1909
+ null,
1910
+ ],
1911
+ "label": "Description",
1912
+ "props": Object {
1913
+ "index": 1,
1914
+ "style": Object {
1915
+ "width": "10%",
1916
+ },
1917
+ },
1918
+ },
1919
+ "property": "description",
1920
+ },
1921
+ Object {
1922
+ "cell": Object {
1923
+ "formatters": Array [
1924
+ null,
1925
+ ],
1926
+ },
1927
+ "header": Object {
1928
+ "formatters": Array [
1929
+ null,
1930
+ ],
1931
+ "label": "Hostgroup",
1932
+ "props": Object {
1933
+ "index": 2,
1934
+ "style": Object {
1935
+ "width": "20%",
1936
+ },
1937
+ },
1938
+ },
1939
+ "property": "hostgroup",
1940
+ },
1941
+ Object {
1942
+ "cell": Object {
1943
+ "formatters": Array [
1944
+ null,
1945
+ ],
1946
+ },
1947
+ "header": Object {
1948
+ "formatters": Array [
1949
+ null,
1950
+ ],
1951
+ "label": "Ansible Group",
1952
+ "props": Object {
1953
+ "index": 3,
1954
+ "style": Object {
1955
+ "width": "20%",
1956
+ },
1957
+ },
1958
+ },
1959
+ "property": "ansibleGroup",
1960
+ },
1961
+ Object {
1962
+ "cell": Object {
1963
+ "formatters": Array [
1964
+ null,
1965
+ ],
1966
+ },
1967
+ "header": Object {
1968
+ "formatters": Array [
1969
+ null,
1970
+ ],
1971
+ "label": "min count",
1972
+ "props": Object {
1973
+ "index": 4,
1974
+ "style": Object {
1975
+ "width": "10%",
1976
+ },
1977
+ },
1978
+ },
1979
+ "property": "minCount",
1980
+ },
1981
+ Object {
1982
+ "cell": Object {
1983
+ "formatters": Array [
1984
+ null,
1985
+ ],
1986
+ },
1987
+ "header": Object {
1988
+ "formatters": Array [
1989
+ null,
1990
+ ],
1991
+ "label": "max count",
1992
+ "props": Object {
1993
+ "index": 5,
1994
+ "style": Object {
1995
+ "width": "10%",
1996
+ },
1997
+ },
1998
+ },
1999
+ "property": "maxCount",
2000
+ },
2001
+ Object {
2002
+ "cell": Object {
2003
+ "formatters": Array [
2004
+ null,
2005
+ ],
2006
+ },
2007
+ "header": Object {
2008
+ "formatters": Array [
2009
+ null,
2010
+ ],
2011
+ "label": "Actions",
2012
+ "props": Object {
2013
+ "index": 6,
2014
+ "style": Object {
2015
+ "width": "15%",
2016
+ },
2017
+ },
2018
+ },
2019
+ "property": "actions",
2020
+ },
2021
+ ],
2022
+ "error": Object {
2023
+ "errorMsg": "",
2024
+ "status": "",
2025
+ "statusText": "",
2026
+ },
2027
+ "name": false,
2028
+ "services": Array [
2029
+ Object {
2030
+ "ansibleGroup": "webservers",
2031
+ "ansibleParameters": Array [
2032
+ Object {
2033
+ "id": 0,
2034
+ "name": "dummy_var",
2035
+ "value": "0",
2036
+ },
2037
+ ],
2038
+ "description": "",
2039
+ "foremanParameters": Array [
2040
+ Object {
2041
+ "description": "",
2042
+ "id": 1,
2043
+ "locked": false,
2044
+ "name": "CP",
2045
+ "type": "computeprofile",
2046
+ "value": "1",
2047
+ },
2048
+ Object {
2049
+ "description": "",
2050
+ "id": 2,
2051
+ "locked": true,
2052
+ "name": "LE",
2053
+ "type": "lifecycleenv",
2054
+ "value": "1",
2055
+ },
2056
+ ],
2057
+ "hostgroup": "1",
2058
+ "id": 1,
2059
+ "maxCount": "",
2060
+ "minCount": "2",
2061
+ "name": "web",
2062
+ },
2063
+ Object {
2064
+ "ansibleGroup": "dbservers",
2065
+ "ansibleParameters": Array [
2066
+ Object {
2067
+ "id": 0,
2068
+ "name": "mysqlservice",
2069
+ "value": "mysqld",
2070
+ },
2071
+ Object {
2072
+ "id": 1,
2073
+ "locked": true,
2074
+ "name": "mysql_port",
2075
+ "value": "3306",
2076
+ },
2077
+ Object {
2078
+ "id": 2,
2079
+ "name": "dbuser",
2080
+ "value": "webapp",
2081
+ },
2082
+ Object {
2083
+ "id": 3,
2084
+ "name": "dbname",
2085
+ "value": "ANSAP01",
2086
+ },
2087
+ Object {
2088
+ "id": 4,
2089
+ "name": "upassword",
2090
+ "value": "Bond@007",
2091
+ },
2092
+ Object {
2093
+ "id": 5,
2094
+ "name": "masterpassword",
2095
+ "value": "MySQL@007",
2096
+ },
2097
+ ],
2098
+ "backup": Object {
2099
+ "ansibleGroup": "dbservers",
2100
+ "ansibleParameters": Array [
2101
+ Object {
2102
+ "id": 0,
2103
+ "name": "mysqlservice",
2104
+ "value": "mysqld",
2105
+ },
2106
+ Object {
2107
+ "id": 1,
2108
+ "locked": true,
2109
+ "name": "mysql_port",
2110
+ "value": "3306",
2111
+ },
2112
+ Object {
2113
+ "id": 2,
2114
+ "name": "dbuser",
2115
+ "value": "webapp",
2116
+ },
2117
+ Object {
2118
+ "id": 3,
2119
+ "name": "dbname",
2120
+ "value": "ANSAP01",
2121
+ },
2122
+ Object {
2123
+ "id": 4,
2124
+ "name": "upassword",
2125
+ "value": "Bond@007",
2126
+ },
2127
+ Object {
2128
+ "id": 5,
2129
+ "name": "masterpassword",
2130
+ "value": "MySQL@007",
2131
+ },
2132
+ ],
2133
+ "description": "",
2134
+ "foremanParameters": Array [],
2135
+ "hostgroup": "1",
2136
+ "id": 2,
2137
+ "maxCount": "",
2138
+ "minCount": "1",
2139
+ "name": "db",
2140
+ },
2141
+ "description": "",
2142
+ "foremanParameters": Array [],
2143
+ "hostgroup": "1",
2144
+ "id": 2,
2145
+ "maxCount": "",
2146
+ "minCount": "1",
2147
+ "name": "db",
2148
+ },
2149
+ ],
2150
+ }
2151
+ `;
2152
+
2153
+ exports[`ApplicationDefintionReducer should load param data be erroneous 1`] = `
2154
+ Object {
2155
+ "ansiblePlaybook": Object {
2156
+ "groups": Object {
2157
+ "all": Array [
2158
+ Object {
2159
+ "id": 0,
2160
+ "name": "repository",
2161
+ "value": "https://github.com/bennojoy/mywebapp.git",
2162
+ },
2163
+ ],
2164
+ "dbservers": Array [
2165
+ Object {
2166
+ "id": 0,
2167
+ "name": "mysqlservice",
2168
+ "value": "mysqld",
2169
+ },
2170
+ Object {
2171
+ "id": 1,
2172
+ "name": "mysql_port",
2173
+ "value": "3306",
2174
+ },
2175
+ Object {
2176
+ "id": 2,
2177
+ "name": "dbuser",
2178
+ "value": "webapp",
2179
+ },
2180
+ Object {
2181
+ "id": 3,
2182
+ "name": "dbname",
2183
+ "value": "ANSAP01",
2184
+ },
2185
+ Object {
2186
+ "id": 4,
2187
+ "name": "upassword",
2188
+ "value": "Bond@007",
2189
+ },
2190
+ Object {
2191
+ "id": 5,
2192
+ "name": "masterpassword",
2193
+ "value": "MySQL@007",
2194
+ },
2195
+ ],
2196
+ "webservers": Array [
2197
+ Object {
2198
+ "id": 0,
2199
+ "name": "dummy_var",
2200
+ "value": "0",
2201
+ },
2202
+ ],
2203
+ },
2204
+ "id": 2,
2205
+ "name": "LAMP",
2206
+ },
2207
+ "ansibleVarsAll": Array [
2208
+ Object {
2209
+ "id": 0,
2210
+ "name": "repository",
2211
+ "value": "https://github.com/bennojoy/mywebapp.git",
2212
+ },
2213
+ ],
2214
+ "columns": Array [
2215
+ Object {
2216
+ "cell": Object {
2217
+ "formatters": Array [
2218
+ null,
2219
+ ],
2220
+ },
2221
+ "header": Object {
2222
+ "formatters": Array [
2223
+ null,
2224
+ ],
2225
+ "label": "Name",
2226
+ "props": Object {
2227
+ "index": 0,
2228
+ "style": Object {
2229
+ "width": "15%",
2230
+ },
2231
+ },
2232
+ },
2233
+ "property": "name",
2234
+ },
2235
+ Object {
2236
+ "cell": Object {
2237
+ "formatters": Array [
2238
+ null,
2239
+ ],
2240
+ },
2241
+ "header": Object {
2242
+ "formatters": Array [
2243
+ null,
2244
+ ],
2245
+ "label": "Description",
2246
+ "props": Object {
2247
+ "index": 1,
2248
+ "style": Object {
2249
+ "width": "10%",
2250
+ },
2251
+ },
2252
+ },
2253
+ "property": "description",
2254
+ },
2255
+ Object {
2256
+ "cell": Object {
2257
+ "formatters": Array [
2258
+ null,
2259
+ ],
2260
+ },
2261
+ "header": Object {
2262
+ "formatters": Array [
2263
+ null,
2264
+ ],
2265
+ "label": "Hostgroup",
2266
+ "props": Object {
2267
+ "index": 2,
2268
+ "style": Object {
2269
+ "width": "20%",
2270
+ },
2271
+ },
2272
+ },
2273
+ "property": "hostgroup",
2274
+ },
2275
+ Object {
2276
+ "cell": Object {
2277
+ "formatters": Array [
2278
+ null,
2279
+ ],
2280
+ },
2281
+ "header": Object {
2282
+ "formatters": Array [
2283
+ null,
2284
+ ],
2285
+ "label": "Ansible Group",
2286
+ "props": Object {
2287
+ "index": 3,
2288
+ "style": Object {
2289
+ "width": "20%",
2290
+ },
2291
+ },
2292
+ },
2293
+ "property": "ansibleGroup",
2294
+ },
2295
+ Object {
2296
+ "cell": Object {
2297
+ "formatters": Array [
2298
+ null,
2299
+ ],
2300
+ },
2301
+ "header": Object {
2302
+ "formatters": Array [
2303
+ null,
2304
+ ],
2305
+ "label": "min count",
2306
+ "props": Object {
2307
+ "index": 4,
2308
+ "style": Object {
2309
+ "width": "10%",
2310
+ },
2311
+ },
2312
+ },
2313
+ "property": "minCount",
2314
+ },
2315
+ Object {
2316
+ "cell": Object {
2317
+ "formatters": Array [
2318
+ null,
2319
+ ],
2320
+ },
2321
+ "header": Object {
2322
+ "formatters": Array [
2323
+ null,
2324
+ ],
2325
+ "label": "max count",
2326
+ "props": Object {
2327
+ "index": 5,
2328
+ "style": Object {
2329
+ "width": "10%",
2330
+ },
2331
+ },
2332
+ },
2333
+ "property": "maxCount",
2334
+ },
2335
+ Object {
2336
+ "cell": Object {
2337
+ "formatters": Array [
2338
+ null,
2339
+ ],
2340
+ },
2341
+ "header": Object {
2342
+ "formatters": Array [
2343
+ null,
2344
+ ],
2345
+ "label": "Actions",
2346
+ "props": Object {
2347
+ "index": 6,
2348
+ "style": Object {
2349
+ "width": "15%",
2350
+ },
2351
+ },
2352
+ },
2353
+ "property": "actions",
2354
+ },
2355
+ ],
2356
+ "error": "Something really bad happend",
2357
+ "loading": false,
2358
+ "name": false,
2359
+ "services": Array [
2360
+ Object {
2361
+ "ansibleGroup": "webservers",
2362
+ "ansibleParameters": Array [
2363
+ Object {
2364
+ "id": 0,
2365
+ "name": "dummy_var",
2366
+ "value": "0",
2367
+ },
2368
+ ],
2369
+ "description": "",
2370
+ "foremanParameters": Array [
2371
+ Object {
2372
+ "description": "",
2373
+ "id": 1,
2374
+ "locked": false,
2375
+ "name": "CP",
2376
+ "type": "computeprofile",
2377
+ "value": "1",
2378
+ },
2379
+ Object {
2380
+ "description": "",
2381
+ "id": 2,
2382
+ "locked": true,
2383
+ "name": "LE",
2384
+ "type": "lifecycleenv",
2385
+ "value": "1",
2386
+ },
2387
+ ],
2388
+ "hostgroup": "1",
2389
+ "id": 1,
2390
+ "maxCount": "",
2391
+ "minCount": "2",
2392
+ "name": "web",
2393
+ },
2394
+ Object {
2395
+ "ansibleGroup": "dbservers",
2396
+ "ansibleParameters": Array [
2397
+ Object {
2398
+ "id": 0,
2399
+ "name": "mysqlservice",
2400
+ "value": "mysqld",
2401
+ },
2402
+ Object {
2403
+ "id": 1,
2404
+ "locked": true,
2405
+ "name": "mysql_port",
2406
+ "value": "3306",
2407
+ },
2408
+ Object {
2409
+ "id": 2,
2410
+ "name": "dbuser",
2411
+ "value": "webapp",
2412
+ },
2413
+ Object {
2414
+ "id": 3,
2415
+ "name": "dbname",
2416
+ "value": "ANSAP01",
2417
+ },
2418
+ Object {
2419
+ "id": 4,
2420
+ "name": "upassword",
2421
+ "value": "Bond@007",
2422
+ },
2423
+ Object {
2424
+ "id": 5,
2425
+ "name": "masterpassword",
2426
+ "value": "MySQL@007",
2427
+ },
2428
+ ],
2429
+ "description": "",
2430
+ "foremanParameters": Array [],
2431
+ "hostgroup": "1",
2432
+ "id": 2,
2433
+ "maxCount": "",
2434
+ "minCount": "1",
2435
+ "name": "db",
2436
+ },
2437
+ ],
2438
+ }
2439
+ `;
2440
+
2441
+ exports[`ApplicationDefintionReducer should load param data be successful 1`] = `
2442
+ Object {
2443
+ "ansiblePlaybook": Object {
2444
+ "groups": Object {
2445
+ "all": Array [
2446
+ Object {
2447
+ "id": 0,
2448
+ "name": "repository",
2449
+ "value": "https://github.com/bennojoy/mywebapp.git",
2450
+ },
2451
+ ],
2452
+ "dbservers": Array [
2453
+ Object {
2454
+ "id": 0,
2455
+ "name": "mysqlservice",
2456
+ "value": "mysqld",
2457
+ },
2458
+ Object {
2459
+ "id": 1,
2460
+ "name": "mysql_port",
2461
+ "value": "3306",
2462
+ },
2463
+ Object {
2464
+ "id": 2,
2465
+ "name": "dbuser",
2466
+ "value": "webapp",
2467
+ },
2468
+ Object {
2469
+ "id": 3,
2470
+ "name": "dbname",
2471
+ "value": "ANSAP01",
2472
+ },
2473
+ Object {
2474
+ "id": 4,
2475
+ "name": "upassword",
2476
+ "value": "Bond@007",
2477
+ },
2478
+ Object {
2479
+ "id": 5,
2480
+ "name": "masterpassword",
2481
+ "value": "MySQL@007",
2482
+ },
2483
+ ],
2484
+ "webservers": Array [
2485
+ Object {
2486
+ "id": 0,
2487
+ "name": "dummy_var",
2488
+ "value": "0",
2489
+ },
2490
+ ],
2491
+ },
2492
+ "id": 2,
2493
+ "name": "LAMP",
2494
+ },
2495
+ "ansibleVarsAll": Array [
2496
+ Object {
2497
+ "id": 0,
2498
+ "name": "repository",
2499
+ "value": "https://github.com/bennojoy/mywebapp.git",
2500
+ },
2501
+ ],
2502
+ "columns": Array [
2503
+ Object {
2504
+ "cell": Object {
2505
+ "formatters": Array [
2506
+ null,
2507
+ ],
2508
+ },
2509
+ "header": Object {
2510
+ "formatters": Array [
2511
+ null,
2512
+ ],
2513
+ "label": "Name",
2514
+ "props": Object {
2515
+ "index": 0,
2516
+ "style": Object {
2517
+ "width": "15%",
2518
+ },
2519
+ },
2520
+ },
2521
+ "property": "name",
2522
+ },
2523
+ Object {
2524
+ "cell": Object {
2525
+ "formatters": Array [
2526
+ null,
2527
+ ],
2528
+ },
2529
+ "header": Object {
2530
+ "formatters": Array [
2531
+ null,
2532
+ ],
2533
+ "label": "Description",
2534
+ "props": Object {
2535
+ "index": 1,
2536
+ "style": Object {
2537
+ "width": "10%",
2538
+ },
2539
+ },
2540
+ },
2541
+ "property": "description",
2542
+ },
2543
+ Object {
2544
+ "cell": Object {
2545
+ "formatters": Array [
2546
+ null,
2547
+ ],
2548
+ },
2549
+ "header": Object {
2550
+ "formatters": Array [
2551
+ null,
2552
+ ],
2553
+ "label": "Hostgroup",
2554
+ "props": Object {
2555
+ "index": 2,
2556
+ "style": Object {
2557
+ "width": "20%",
2558
+ },
2559
+ },
2560
+ },
2561
+ "property": "hostgroup",
2562
+ },
2563
+ Object {
2564
+ "cell": Object {
2565
+ "formatters": Array [
2566
+ null,
2567
+ ],
2568
+ },
2569
+ "header": Object {
2570
+ "formatters": Array [
2571
+ null,
2572
+ ],
2573
+ "label": "Ansible Group",
2574
+ "props": Object {
2575
+ "index": 3,
2576
+ "style": Object {
2577
+ "width": "20%",
2578
+ },
2579
+ },
2580
+ },
2581
+ "property": "ansibleGroup",
2582
+ },
2583
+ Object {
2584
+ "cell": Object {
2585
+ "formatters": Array [
2586
+ null,
2587
+ ],
2588
+ },
2589
+ "header": Object {
2590
+ "formatters": Array [
2591
+ null,
2592
+ ],
2593
+ "label": "min count",
2594
+ "props": Object {
2595
+ "index": 4,
2596
+ "style": Object {
2597
+ "width": "10%",
2598
+ },
2599
+ },
2600
+ },
2601
+ "property": "minCount",
2602
+ },
2603
+ Object {
2604
+ "cell": Object {
2605
+ "formatters": Array [
2606
+ null,
2607
+ ],
2608
+ },
2609
+ "header": Object {
2610
+ "formatters": Array [
2611
+ null,
2612
+ ],
2613
+ "label": "max count",
2614
+ "props": Object {
2615
+ "index": 5,
2616
+ "style": Object {
2617
+ "width": "10%",
2618
+ },
2619
+ },
2620
+ },
2621
+ "property": "maxCount",
2622
+ },
2623
+ Object {
2624
+ "cell": Object {
2625
+ "formatters": Array [
2626
+ null,
2627
+ ],
2628
+ },
2629
+ "header": Object {
2630
+ "formatters": Array [
2631
+ null,
2632
+ ],
2633
+ "label": "Actions",
2634
+ "props": Object {
2635
+ "index": 6,
2636
+ "style": Object {
2637
+ "width": "15%",
2638
+ },
2639
+ },
2640
+ },
2641
+ "property": "actions",
2642
+ },
2643
+ ],
2644
+ "error": Object {
2645
+ "errorMsg": "",
2646
+ "status": "",
2647
+ "statusText": "",
2648
+ },
2649
+ "name": false,
2650
+ "services": Array [
2651
+ Object {
2652
+ "ansibleGroup": "webservers",
2653
+ "ansibleParameters": Array [
2654
+ Object {
2655
+ "id": 0,
2656
+ "name": "dummy_var",
2657
+ "value": "0",
2658
+ },
2659
+ ],
2660
+ "description": "",
2661
+ "foremanParameters": Array [
2662
+ Object {
2663
+ "description": "",
2664
+ "id": 1,
2665
+ "locked": false,
2666
+ "name": "CP",
2667
+ "type": "computeprofile",
2668
+ "value": "1",
2669
+ },
2670
+ Object {
2671
+ "description": "",
2672
+ "id": 2,
2673
+ "locked": true,
2674
+ "name": "LE",
2675
+ "type": "lifecycleenv",
2676
+ "value": "1",
2677
+ },
2678
+ ],
2679
+ "hostgroup": "1",
2680
+ "id": 1,
2681
+ "maxCount": "",
2682
+ "minCount": "2",
2683
+ "name": "web",
2684
+ },
2685
+ Object {
2686
+ "ansibleGroup": "dbservers",
2687
+ "ansibleParameters": Array [
2688
+ Object {
2689
+ "id": 0,
2690
+ "name": "mysqlservice",
2691
+ "value": "mysqld",
2692
+ },
2693
+ Object {
2694
+ "id": 1,
2695
+ "locked": true,
2696
+ "name": "mysql_port",
2697
+ "value": "3306",
2698
+ },
2699
+ Object {
2700
+ "id": 2,
2701
+ "name": "dbuser",
2702
+ "value": "webapp",
2703
+ },
2704
+ Object {
2705
+ "id": 3,
2706
+ "name": "dbname",
2707
+ "value": "ANSAP01",
2708
+ },
2709
+ Object {
2710
+ "id": 4,
2711
+ "name": "upassword",
2712
+ "value": "Bond@007",
2713
+ },
2714
+ Object {
2715
+ "id": 5,
2716
+ "name": "masterpassword",
2717
+ "value": "MySQL@007",
2718
+ },
2719
+ ],
2720
+ "description": "",
2721
+ "foremanParameters": Array [],
2722
+ "hostgroup": "1",
2723
+ "id": 2,
2724
+ "maxCount": "",
2725
+ "minCount": "1",
2726
+ "name": "db",
2727
+ },
2728
+ ],
2729
+ }
2730
+ `;
2731
+
2732
+ exports[`ApplicationDefintionReducer should request load param data 1`] = `
2733
+ Object {
2734
+ "ansiblePlaybook": Object {
2735
+ "groups": Object {
2736
+ "all": Array [
2737
+ Object {
2738
+ "id": 0,
2739
+ "name": "repository",
2740
+ "value": "https://github.com/bennojoy/mywebapp.git",
2741
+ },
2742
+ ],
2743
+ "dbservers": Array [
2744
+ Object {
2745
+ "id": 0,
2746
+ "name": "mysqlservice",
2747
+ "value": "mysqld",
2748
+ },
2749
+ Object {
2750
+ "id": 1,
2751
+ "name": "mysql_port",
2752
+ "value": "3306",
2753
+ },
2754
+ Object {
2755
+ "id": 2,
2756
+ "name": "dbuser",
2757
+ "value": "webapp",
2758
+ },
2759
+ Object {
2760
+ "id": 3,
2761
+ "name": "dbname",
2762
+ "value": "ANSAP01",
2763
+ },
2764
+ Object {
2765
+ "id": 4,
2766
+ "name": "upassword",
2767
+ "value": "Bond@007",
2768
+ },
2769
+ Object {
2770
+ "id": 5,
2771
+ "name": "masterpassword",
2772
+ "value": "MySQL@007",
2773
+ },
2774
+ ],
2775
+ "webservers": Array [
2776
+ Object {
2777
+ "id": 0,
2778
+ "name": "dummy_var",
2779
+ "value": "0",
2780
+ },
2781
+ ],
2782
+ },
2783
+ "id": 2,
2784
+ "name": "LAMP",
2785
+ },
2786
+ "ansibleVarsAll": Array [
2787
+ Object {
2788
+ "id": 0,
2789
+ "name": "repository",
2790
+ "value": "https://github.com/bennojoy/mywebapp.git",
2791
+ },
2792
+ ],
2793
+ "columns": Array [
2794
+ Object {
2795
+ "cell": Object {
2796
+ "formatters": Array [
2797
+ null,
2798
+ ],
2799
+ },
2800
+ "header": Object {
2801
+ "formatters": Array [
2802
+ null,
2803
+ ],
2804
+ "label": "Name",
2805
+ "props": Object {
2806
+ "index": 0,
2807
+ "style": Object {
2808
+ "width": "15%",
2809
+ },
2810
+ },
2811
+ },
2812
+ "property": "name",
2813
+ },
2814
+ Object {
2815
+ "cell": Object {
2816
+ "formatters": Array [
2817
+ null,
2818
+ ],
2819
+ },
2820
+ "header": Object {
2821
+ "formatters": Array [
2822
+ null,
2823
+ ],
2824
+ "label": "Description",
2825
+ "props": Object {
2826
+ "index": 1,
2827
+ "style": Object {
2828
+ "width": "10%",
2829
+ },
2830
+ },
2831
+ },
2832
+ "property": "description",
2833
+ },
2834
+ Object {
2835
+ "cell": Object {
2836
+ "formatters": Array [
2837
+ null,
2838
+ ],
2839
+ },
2840
+ "header": Object {
2841
+ "formatters": Array [
2842
+ null,
2843
+ ],
2844
+ "label": "Hostgroup",
2845
+ "props": Object {
2846
+ "index": 2,
2847
+ "style": Object {
2848
+ "width": "20%",
2849
+ },
2850
+ },
2851
+ },
2852
+ "property": "hostgroup",
2853
+ },
2854
+ Object {
2855
+ "cell": Object {
2856
+ "formatters": Array [
2857
+ null,
2858
+ ],
2859
+ },
2860
+ "header": Object {
2861
+ "formatters": Array [
2862
+ null,
2863
+ ],
2864
+ "label": "Ansible Group",
2865
+ "props": Object {
2866
+ "index": 3,
2867
+ "style": Object {
2868
+ "width": "20%",
2869
+ },
2870
+ },
2871
+ },
2872
+ "property": "ansibleGroup",
2873
+ },
2874
+ Object {
2875
+ "cell": Object {
2876
+ "formatters": Array [
2877
+ null,
2878
+ ],
2879
+ },
2880
+ "header": Object {
2881
+ "formatters": Array [
2882
+ null,
2883
+ ],
2884
+ "label": "min count",
2885
+ "props": Object {
2886
+ "index": 4,
2887
+ "style": Object {
2888
+ "width": "10%",
2889
+ },
2890
+ },
2891
+ },
2892
+ "property": "minCount",
2893
+ },
2894
+ Object {
2895
+ "cell": Object {
2896
+ "formatters": Array [
2897
+ null,
2898
+ ],
2899
+ },
2900
+ "header": Object {
2901
+ "formatters": Array [
2902
+ null,
2903
+ ],
2904
+ "label": "max count",
2905
+ "props": Object {
2906
+ "index": 5,
2907
+ "style": Object {
2908
+ "width": "10%",
2909
+ },
2910
+ },
2911
+ },
2912
+ "property": "maxCount",
2913
+ },
2914
+ Object {
2915
+ "cell": Object {
2916
+ "formatters": Array [
2917
+ null,
2918
+ ],
2919
+ },
2920
+ "header": Object {
2921
+ "formatters": Array [
2922
+ null,
2923
+ ],
2924
+ "label": "Actions",
2925
+ "props": Object {
2926
+ "index": 6,
2927
+ "style": Object {
2928
+ "width": "15%",
2929
+ },
2930
+ },
2931
+ },
2932
+ "property": "actions",
2933
+ },
2934
+ ],
2935
+ "error": Object {
2936
+ "errorMsg": "",
2937
+ "status": "",
2938
+ "statusText": "",
2939
+ },
2940
+ "loading": true,
2941
+ "name": false,
2942
+ "services": Array [
2943
+ Object {
2944
+ "ansibleGroup": "webservers",
2945
+ "ansibleParameters": Array [
2946
+ Object {
2947
+ "id": 0,
2948
+ "name": "dummy_var",
2949
+ "value": "0",
2950
+ },
2951
+ ],
2952
+ "description": "",
2953
+ "foremanParameters": Array [
2954
+ Object {
2955
+ "description": "",
2956
+ "id": 1,
2957
+ "locked": false,
2958
+ "name": "CP",
2959
+ "type": "computeprofile",
2960
+ "value": "1",
2961
+ },
2962
+ Object {
2963
+ "description": "",
2964
+ "id": 2,
2965
+ "locked": true,
2966
+ "name": "LE",
2967
+ "type": "lifecycleenv",
2968
+ "value": "1",
2969
+ },
2970
+ ],
2971
+ "hostgroup": "1",
2972
+ "id": 1,
2973
+ "maxCount": "",
2974
+ "minCount": "2",
2975
+ "name": "web",
2976
+ },
2977
+ Object {
2978
+ "ansibleGroup": "dbservers",
2979
+ "ansibleParameters": Array [
2980
+ Object {
2981
+ "id": 0,
2982
+ "name": "mysqlservice",
2983
+ "value": "mysqld",
2984
+ },
2985
+ Object {
2986
+ "id": 1,
2987
+ "locked": true,
2988
+ "name": "mysql_port",
2989
+ "value": "3306",
2990
+ },
2991
+ Object {
2992
+ "id": 2,
2993
+ "name": "dbuser",
2994
+ "value": "webapp",
2995
+ },
2996
+ Object {
2997
+ "id": 3,
2998
+ "name": "dbname",
2999
+ "value": "ANSAP01",
3000
+ },
3001
+ Object {
3002
+ "id": 4,
3003
+ "name": "upassword",
3004
+ "value": "Bond@007",
3005
+ },
3006
+ Object {
3007
+ "id": 5,
3008
+ "name": "masterpassword",
3009
+ "value": "MySQL@007",
3010
+ },
3011
+ ],
3012
+ "description": "",
3013
+ "foremanParameters": Array [],
3014
+ "hostgroup": "1",
3015
+ "id": 2,
3016
+ "maxCount": "",
3017
+ "minCount": "1",
3018
+ "name": "db",
3019
+ },
3020
+ ],
3021
+ }
3022
+ `;
3023
+
3024
+ exports[`ApplicationDefintionReducer should return initial state 1`] = `
3025
+ Object {
3026
+ "error": Object {
3027
+ "errorMsg": "",
3028
+ "status": "",
3029
+ "statusText": "",
3030
+ },
3031
+ "name": false,
3032
+ }
3033
+ `;