@spinnaker/oracle 0.0.0-main-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +868 -0
  2. package/LICENSE.txt +203 -0
  3. package/dist/common/footer.component.d.ts +2 -0
  4. package/dist/domain/IOracleLoadBalancer.d.ts +114 -0
  5. package/dist/helpContents/oracleHelpContents.d.ts +1 -0
  6. package/dist/image/image.reader.d.ts +2 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +3634 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/instance/details/instance.details.controller.d.ts +2 -0
  11. package/dist/loadBalancer/configure/createLoadBalancer.controller.d.ts +87 -0
  12. package/dist/loadBalancer/details/loadBalancerDetail.controller.d.ts +21 -0
  13. package/dist/loadBalancer/loadBalancer.transformer.d.ts +12 -0
  14. package/dist/oracle.module.d.ts +2 -0
  15. package/dist/oracle.settings.d.ts +15 -0
  16. package/dist/pipeline/stages/bake/bakeExecutionDetails.controller.d.ts +2 -0
  17. package/dist/pipeline/stages/bake/ociBakeStage.d.ts +2 -0
  18. package/dist/pipeline/stages/destroyAsg/destroyAsgStage.d.ts +2 -0
  19. package/dist/pipeline/stages/disableAsg/disableAsgStage.d.ts +2 -0
  20. package/dist/pipeline/stages/findAmi/findAmiStage.d.ts +2 -0
  21. package/dist/pipeline/stages/findImageFromTags/oracleFindImageFromTagsStage.d.ts +2 -0
  22. package/dist/pipeline/stages/resizeAsg/resizeAsgStage.d.ts +2 -0
  23. package/dist/pipeline/stages/scaleDownCluster/scaleDownClusterStage.d.ts +2 -0
  24. package/dist/pipeline/stages/shrinkCluster/shrinkClusterStage.d.ts +2 -0
  25. package/dist/securityGroup/configure/createSecurityGroup.controller.d.ts +2 -0
  26. package/dist/securityGroup/securityGroup.reader.d.ts +2 -0
  27. package/dist/securityGroup/securityGroup.transformer.d.ts +2 -0
  28. package/dist/serverGroup/configure/serverGroup.configure.module.d.ts +2 -0
  29. package/dist/serverGroup/configure/serverGroupCommandBuilder.service.d.ts +2 -0
  30. package/dist/serverGroup/configure/serverGroupConfiguration.service.d.ts +2 -0
  31. package/dist/serverGroup/configure/wizard/basicSettings/basicSettings.controller.d.ts +2 -0
  32. package/dist/serverGroup/configure/wizard/capacity/capacitySelector.component.d.ts +2 -0
  33. package/dist/serverGroup/configure/wizard/cloneServerGroup.controller.d.ts +2 -0
  34. package/dist/serverGroup/details/resize/resizeCapacity.component.d.ts +2 -0
  35. package/dist/serverGroup/details/resize/resizeServerGroup.controller.d.ts +2 -0
  36. package/dist/serverGroup/details/rollback/rollbackServerGroup.controller.d.ts +2 -0
  37. package/dist/serverGroup/details/serverGroupDetails.controller.d.ts +2 -0
  38. package/dist/serverGroup/serverGroup.transformer.d.ts +2 -0
  39. package/package.json +38 -0
  40. package/src/common/footer.component.html +7 -0
  41. package/src/common/footer.component.js +18 -0
  42. package/src/common/ocid/ocid.component.js +15 -0
  43. package/src/common/ocid/ocid.template.html +10 -0
  44. package/src/common/ocid/truncateOcid.filter.js +14 -0
  45. package/src/domain/IOracleLoadBalancer.ts +110 -0
  46. package/src/helpContents/oracleHelpContents.ts +52 -0
  47. package/src/image/image.reader.js +38 -0
  48. package/src/index.ts +1 -0
  49. package/src/instance/details/instance.details.controller.js +56 -0
  50. package/src/instance/details/instanceDetails.html +31 -0
  51. package/src/loadBalancer/configure/backendSets.html +67 -0
  52. package/src/loadBalancer/configure/certificates.html +63 -0
  53. package/src/loadBalancer/configure/createLoadBalancer.controller.spec.ts +201 -0
  54. package/src/loadBalancer/configure/createLoadBalancer.controller.ts +540 -0
  55. package/src/loadBalancer/configure/createLoadBalancer.html +25 -0
  56. package/src/loadBalancer/configure/createLoadBalancerProperties.html +167 -0
  57. package/src/loadBalancer/configure/editLoadBalancer.html +26 -0
  58. package/src/loadBalancer/configure/listeners.html +88 -0
  59. package/src/loadBalancer/details/loadBalancerDetail.controller.spec.ts +62 -0
  60. package/src/loadBalancer/details/loadBalancerDetail.controller.ts +163 -0
  61. package/src/loadBalancer/details/loadBalancerDetail.html +100 -0
  62. package/src/loadBalancer/loadBalancer.transformer.ts +144 -0
  63. package/src/oracle.module.ts +94 -0
  64. package/src/oracle.settings.ts +19 -0
  65. package/src/pipeline/disableAsg/disableAsgStage.html +11 -0
  66. package/src/pipeline/disableAsg/disableAsgStage.js +62 -0
  67. package/src/pipeline/disableAsg/disableAsgStepLabel.html +1 -0
  68. package/src/pipeline/stages/bake/bakeExecutionDetails.controller.js +38 -0
  69. package/src/pipeline/stages/bake/bakeExecutionDetails.html +52 -0
  70. package/src/pipeline/stages/bake/bakeStage.html +109 -0
  71. package/src/pipeline/stages/bake/ociBakeStage.js +147 -0
  72. package/src/pipeline/stages/destroyAsg/destroyAsgStage.html +9 -0
  73. package/src/pipeline/stages/destroyAsg/destroyAsgStage.js +64 -0
  74. package/src/pipeline/stages/destroyAsg/destroyAsgStepLabel.html +1 -0
  75. package/src/pipeline/stages/disableAsg/disableAsgStage.html +11 -0
  76. package/src/pipeline/stages/disableAsg/disableAsgStage.js +63 -0
  77. package/src/pipeline/stages/disableAsg/disableAsgStepLabel.html +1 -0
  78. package/src/pipeline/stages/findAmi/findAmiStage.html +20 -0
  79. package/src/pipeline/stages/findAmi/findAmiStage.js +82 -0
  80. package/src/pipeline/stages/findImageFromTags/findImageFromTagsExecutionDetails.html +44 -0
  81. package/src/pipeline/stages/findImageFromTags/findImageFromTagsStage.html +11 -0
  82. package/src/pipeline/stages/findImageFromTags/oracleFindImageFromTagsStage.js +36 -0
  83. package/src/pipeline/stages/resizeAsg/resizeAsgStage.html +89 -0
  84. package/src/pipeline/stages/resizeAsg/resizeAsgStage.js +101 -0
  85. package/src/pipeline/stages/resizeAsg/resizeAsgStepLabel.html +1 -0
  86. package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.html +35 -0
  87. package/src/pipeline/stages/scaleDownCluster/scaleDownClusterStage.js +75 -0
  88. package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.html +34 -0
  89. package/src/pipeline/stages/shrinkCluster/shrinkClusterStage.js +71 -0
  90. package/src/securityGroup/configure/createSecurityGroup.controller.js +19 -0
  91. package/src/securityGroup/configure/createSecurityGroup.html +19 -0
  92. package/src/securityGroup/securityGroup.reader.js +15 -0
  93. package/src/securityGroup/securityGroup.transformer.js +25 -0
  94. package/src/serverGroup/configure/serverGroup.configure.module.js +15 -0
  95. package/src/serverGroup/configure/serverGroupCommandBuilder.service.js +105 -0
  96. package/src/serverGroup/configure/serverGroupConfiguration.service.js +229 -0
  97. package/src/serverGroup/configure/wizard/advancedSettings/advancedSettings.html +13 -0
  98. package/src/serverGroup/configure/wizard/basicSettings/basicSettings.controller.js +35 -0
  99. package/src/serverGroup/configure/wizard/basicSettings/basicSettings.html +134 -0
  100. package/src/serverGroup/configure/wizard/capacity/capacity.html +7 -0
  101. package/src/serverGroup/configure/wizard/capacity/capacitySelector.component.html +13 -0
  102. package/src/serverGroup/configure/wizard/capacity/capacitySelector.component.js +17 -0
  103. package/src/serverGroup/configure/wizard/cloneServerGroup.controller.js +109 -0
  104. package/src/serverGroup/configure/wizard/instanceType/instanceType.html +29 -0
  105. package/src/serverGroup/configure/wizard/loadBalancers/loadBalancers.html +44 -0
  106. package/src/serverGroup/configure/wizard/network/networkSettings.html +15 -0
  107. package/src/serverGroup/configure/wizard/serverGroupWizard.html +40 -0
  108. package/src/serverGroup/configure/wizard/templateSelection/templateSelection.html +9 -0
  109. package/src/serverGroup/details/resize/resizeCapacity.component.html +36 -0
  110. package/src/serverGroup/details/resize/resizeCapacity.component.js +42 -0
  111. package/src/serverGroup/details/resize/resizeServerGroup.controller.js +62 -0
  112. package/src/serverGroup/details/resize/resizeServerGroup.html +33 -0
  113. package/src/serverGroup/details/rollback/rollbackServerGroup.controller.js +73 -0
  114. package/src/serverGroup/details/rollback/rollbackServerGroup.html +41 -0
  115. package/src/serverGroup/details/serverGroupDetails.controller.js +230 -0
  116. package/src/serverGroup/details/serverGroupDetails.html +94 -0
  117. package/src/serverGroup/serverGroup.transformer.js +29 -0
@@ -0,0 +1,201 @@
1
+ import type { StateService } from '@uirouter/core';
2
+ import type { IControllerService, IRootScopeService, IScope } from 'angular';
3
+ import { mock, noop } from 'angular';
4
+
5
+ import { ApplicationModelBuilder } from '@spinnaker/core';
6
+
7
+ // eslint-disable-next-line @spinnaker/import-from-npm-not-relative
8
+ import { mockHttpClient } from '../../../../core/src/api/mock/jasmine';
9
+ import { ORACLE_LOAD_BALANCER_CREATE_CONTROLLER, OracleLoadBalancerController } from './createLoadBalancer.controller';
10
+ import type { IOracleLoadBalancer, IOracleLoadBalancerUpsertCommand } from '../../domain/IOracleLoadBalancer';
11
+ import { LoadBalancingPolicy } from '../../domain/IOracleLoadBalancer';
12
+ import { OracleProviderSettings } from '../../oracle.settings';
13
+
14
+ describe('Controller: oracleCreateLoadBalancerCtrl', function () {
15
+ let controller: OracleLoadBalancerController;
16
+ let initController: Function;
17
+ const loadBalancer: IOracleLoadBalancer = null;
18
+ let $scope: IScope;
19
+ let $state: StateService;
20
+
21
+ beforeEach(mock.module(ORACLE_LOAD_BALANCER_CREATE_CONTROLLER));
22
+
23
+ // Initialize the controller and a mock scope
24
+ beforeEach(
25
+ mock.inject(($controller: IControllerService, $rootScope: IRootScopeService, _$state_: StateService) => {
26
+ $scope = $rootScope.$new();
27
+ $state = _$state_;
28
+ const application = ApplicationModelBuilder.createApplicationForTests('app', {
29
+ key: 'loadBalancers',
30
+ lazy: true,
31
+ defaultData: [],
32
+ });
33
+
34
+ const isNew = true;
35
+ initController = () => {
36
+ controller = $controller(OracleLoadBalancerController, {
37
+ $scope,
38
+ $uibModalInstance: { dismiss: noop, result: { then: noop } },
39
+ loadBalancer,
40
+ application,
41
+ $state,
42
+ isNew,
43
+ });
44
+ controller.addBackendSet();
45
+ controller.addListener();
46
+ controller.addCert();
47
+
48
+ controller.listeners[0].defaultBackendSetName = controller.backendSets[0].name;
49
+ };
50
+ }),
51
+ );
52
+
53
+ function initListenerSslConfig() {
54
+ controller.listeners[0].isSsl = true;
55
+ controller.listenerIsSslChanged(controller.listeners[0]);
56
+ }
57
+
58
+ it('should have an instantiated controller', function () {
59
+ initController();
60
+ expect(controller).toBeDefined();
61
+ });
62
+
63
+ it('correctly creates a default loadbalancer', function () {
64
+ initController();
65
+ const lb: IOracleLoadBalancerUpsertCommand = $scope.loadBalancerCmd;
66
+ expect(lb.cloudProvider).toEqual('oracle');
67
+ expect(lb.credentials).toEqual(OracleProviderSettings.defaults.account);
68
+ expect(lb.region).toEqual(OracleProviderSettings.defaults.region);
69
+ expect(lb.isPrivate).toEqual(false);
70
+ expect($scope.existingLoadBalancerNames).toEqual(undefined);
71
+ });
72
+
73
+ it('correctly creates default listener', function () {
74
+ initController();
75
+ expect(controller.listeners).toBeDefined();
76
+ expect(controller.listeners.length).toEqual(1);
77
+ expect(controller.listeners[0].name).toEqual('HTTP_80');
78
+ expect(controller.listeners[0].protocol).toEqual('HTTP');
79
+ expect(controller.listeners[0].port).toEqual(80);
80
+ });
81
+
82
+ it('correctly creates default subnet', function () {
83
+ initController();
84
+ expect(controller.backendSets).toBeDefined();
85
+ expect(controller.backendSets.length).toEqual(1);
86
+ expect(controller.backendSets[0].name).toEqual('backendSet1');
87
+ expect(controller.backendSets[0].policy).toEqual(LoadBalancingPolicy.ROUND_ROBIN);
88
+ expect(controller.backendSets[0].healthChecker.protocol).toEqual('HTTP');
89
+ expect(controller.backendSets[0].healthChecker.port).toEqual(80);
90
+ expect(controller.backendSets[0].healthChecker.urlPath).toEqual('/');
91
+ });
92
+
93
+ it('correctly creates default certificate', function () {
94
+ initController();
95
+ expect(controller.certificates).toBeDefined();
96
+ expect(controller.certificates.length).toEqual(1);
97
+ expect(controller.certificates[0].certificateName).toEqual('certificate1');
98
+ });
99
+
100
+ it('adds & removes certificate', function () {
101
+ initController();
102
+ controller.addCert();
103
+ expect(controller.certificates).toBeDefined();
104
+ expect(controller.certificates.length).toEqual(2);
105
+ expect(controller.certificates[1].certificateName).toEqual('certificate2');
106
+ controller.removeCert(0);
107
+ expect(controller.certificates.length).toEqual(1);
108
+ expect(controller.certificates[0].certificateName).toEqual('certificate2');
109
+ });
110
+
111
+ it('cannot remove certificate if used by listener', function () {
112
+ initController();
113
+ const newCertName = 'myCert';
114
+ controller.addCert();
115
+ expect(controller.certificates.length).toEqual(2);
116
+ controller.certificates[1].certificateName = newCertName;
117
+ controller.certNameChanged(1);
118
+ controller.addListener();
119
+ controller.listeners[1].isSsl = true;
120
+ controller.listeners[1].sslConfiguration = {
121
+ certificateName: newCertName,
122
+ verifyDepth: 0,
123
+ verifyPeerCertificates: false,
124
+ };
125
+ expect(controller.isCertRemovable(1)).toEqual(false);
126
+ controller.removeListener(1);
127
+ expect(controller.isCertRemovable(1)).toEqual(true);
128
+ controller.removeCert(1);
129
+ });
130
+
131
+ it('changed backend set name updates listener', function () {
132
+ initController();
133
+ expect(controller.listeners[0].defaultBackendSetName).toEqual('backendSet1');
134
+ controller.backendSets[0].name = 'UpdatedBackendSetName';
135
+ controller.backendSetNameChanged(0);
136
+ expect(controller.listeners[0].defaultBackendSetName).toEqual('UpdatedBackendSetName');
137
+ });
138
+
139
+ it('cannot remove backendset if used by listener', function () {
140
+ initController();
141
+ const newBackendSetName = 'myBackendSet';
142
+ controller.addBackendSet();
143
+ controller.addListener();
144
+ controller.backendSets[1].name = newBackendSetName;
145
+ controller.backendSetNameChanged(1);
146
+ controller.listeners[1].defaultBackendSetName = newBackendSetName;
147
+ expect(controller.isBackendSetRemovable(1)).toEqual(false);
148
+ controller.removeListener(1);
149
+ expect(controller.isBackendSetRemovable(1)).toEqual(true);
150
+ controller.removeBackendSet(1);
151
+ });
152
+
153
+ it('remove backend set updates listener', function () {
154
+ initController();
155
+ controller.removeBackendSet(0);
156
+ expect(controller.listeners[0].defaultBackendSetName).not.toBeDefined();
157
+ });
158
+
159
+ it('sslConfiguration created on listener', function () {
160
+ initController();
161
+ expect(controller.listeners[0].sslConfiguration).not.toBeDefined();
162
+ initListenerSslConfig();
163
+ expect(controller.listeners[0].sslConfiguration).toBeDefined();
164
+ });
165
+
166
+ it('sslConfiguration removed on listener when isSsl turned off', function () {
167
+ initController();
168
+ initListenerSslConfig();
169
+ expect(controller.listeners[0].sslConfiguration).toBeDefined();
170
+ controller.listeners[0].isSsl = false;
171
+ controller.listenerIsSslChanged(controller.listeners[0]);
172
+ expect(controller.listeners[0].sslConfiguration).not.toBeDefined();
173
+ });
174
+
175
+ it('changed certificate name updates listener', function () {
176
+ initController();
177
+ initListenerSslConfig();
178
+ controller.listeners[0].sslConfiguration.certificateName = controller.certificates[0].certificateName;
179
+ expect(controller.listeners[0].sslConfiguration.certificateName).toEqual('certificate1');
180
+ controller.certificates[0].certificateName = 'someOtherCertName';
181
+ controller.certNameChanged(0);
182
+ expect(controller.listeners[0].sslConfiguration.certificateName).toEqual('someOtherCertName');
183
+ });
184
+
185
+ it('remove certificate updates listener', function () {
186
+ initController();
187
+ initListenerSslConfig();
188
+ controller.listeners[0].sslConfiguration.certificateName = controller.certificates[0].certificateName;
189
+ controller.removeCert(0);
190
+ expect(controller.listeners[0].sslConfiguration.certificateName).not.toBeDefined();
191
+ });
192
+
193
+ it('makes the expected REST calls for data for a new loadbalancer', async function () {
194
+ const http = mockHttpClient();
195
+ http.expectGET('/networks/oracle').respond(200, []);
196
+ http.expectGET('/subnets/oracle').respond(200, []);
197
+ initController();
198
+
199
+ await http.flush();
200
+ });
201
+ });