Skip to content

Commit 34deff7

Browse files
committed
AS unit test: add LoadBalancerTOTest.java
1 parent b69eaf3 commit 34deff7

1 file changed

Lines changed: 176 additions & 0 deletions

File tree

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
// Licensed to the Apache Software Foundation (ASF) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The ASF licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
package com.cloud.agent.api.to;
18+
19+
import com.cloud.network.as.AutoScalePolicy;
20+
import com.cloud.network.as.AutoScaleVmGroup;
21+
import com.cloud.network.as.Condition;
22+
import com.cloud.network.as.Counter;
23+
import com.cloud.utils.Pair;
24+
import org.junit.Assert;
25+
import org.junit.Before;
26+
import org.junit.Test;
27+
28+
import java.util.ArrayList;
29+
import java.util.Arrays;
30+
import java.util.Date;
31+
import java.util.List;
32+
33+
public class LoadBalancerTOTest {
34+
35+
LoadBalancerTO.CounterTO counter;
36+
LoadBalancerTO.ConditionTO condition;
37+
LoadBalancerTO.AutoScalePolicyTO scaleUpPolicy;
38+
LoadBalancerTO.AutoScalePolicyTO scaleDownPolicy;
39+
40+
LoadBalancerTO.AutoScaleVmProfileTO vmProfile;
41+
LoadBalancerTO.AutoScaleVmGroupTO vmGroup;
42+
43+
private static final Long counterId = 1L;
44+
private static final String counterName = "counter name";
45+
private static final Counter.Source counterSource = Counter.Source.cpu;
46+
private static final String counterValue = "counter value";
47+
private static final String counterProvider = "VIRTUALROUTER";
48+
49+
private static final Long conditionId = 2L;
50+
private static final Long threshold = 100L;
51+
private static final Condition.Operator relationalOperator = Condition.Operator.GT;
52+
53+
private static final Long scaleUpPolicyId = 11L;
54+
private static final int scaleUpPolicyDuration = 61;
55+
private static final int scaleUpPolicyQuietTime = 31;
56+
private static final Date scaleUpPolicyLastQuietTime = new Date();
57+
58+
private static final Long scaleDownPolicyId = 12L;
59+
private static final int scaleDownPolicyDuration = 62;
60+
private static final int scaleDownPolicyQuietTime = 32;
61+
private static final Date scaleDownPolicyLastQuietTime = new Date();
62+
63+
private static final String zoneId = "1111-1111-1112";
64+
private static final String domainId = "1111-1111-1113";
65+
private static final String serviceOfferingId = "1111-1111-1114";
66+
private static final String templateId = "1111-1111-1115";
67+
private static final String otherDeployParams = "otherDeployParams";
68+
private static final List<Pair<String, String>> counterParamList = new ArrayList<>();
69+
private static final Integer destroyVmGraceperiod = 33;
70+
private static final String cloudStackApiUrl = "cloudstack url";
71+
private static final String autoScaleUserApiKey = "cloudstack api key";
72+
private static final String autoScaleUserSecretKey = "cloudstack secret key";
73+
private static final String vmName = "vm name";
74+
private static final String networkId = "1111-1111-1116";
75+
76+
private static final Long vmGroupId = 22L;
77+
private static final String vmGroupUuid = "2222-2222-1111";
78+
private static final int minMembers = 2;
79+
private static final int maxMembers = 3;
80+
private static final int memberPort = 8080;
81+
private static final int interval = 30;
82+
private static final AutoScaleVmGroup.State state = AutoScaleVmGroup.State.Enabled;
83+
private static final AutoScaleVmGroup.State currentState = AutoScaleVmGroup.State.Disabled;
84+
private static final Long loadBalancerId = 21L;
85+
86+
@Before
87+
public void setUp() {
88+
counter = new LoadBalancerTO.CounterTO(counterId, counterName, counterSource, counterValue, counterProvider);
89+
condition = new LoadBalancerTO.ConditionTO(conditionId, threshold, relationalOperator, counter);
90+
scaleUpPolicy = new LoadBalancerTO.AutoScalePolicyTO(scaleUpPolicyId, scaleUpPolicyDuration, scaleUpPolicyQuietTime,
91+
scaleUpPolicyLastQuietTime, AutoScalePolicy.Action.ScaleUp,
92+
Arrays.asList(new LoadBalancerTO.ConditionTO[]{ condition }), false);
93+
scaleDownPolicy = new LoadBalancerTO.AutoScalePolicyTO(scaleDownPolicyId, scaleDownPolicyDuration, scaleDownPolicyQuietTime,
94+
scaleDownPolicyLastQuietTime, AutoScalePolicy.Action.ScaleDown,
95+
Arrays.asList(new LoadBalancerTO.ConditionTO[]{ condition }), false);
96+
vmProfile = new LoadBalancerTO.AutoScaleVmProfileTO(zoneId, domainId, cloudStackApiUrl, autoScaleUserApiKey,
97+
autoScaleUserSecretKey, serviceOfferingId, templateId, vmName, networkId, otherDeployParams,
98+
counterParamList, destroyVmGraceperiod);
99+
vmGroup = new LoadBalancerTO.AutoScaleVmGroupTO(vmGroupId, vmGroupUuid, minMembers, maxMembers, memberPort,
100+
interval, Arrays.asList(new LoadBalancerTO.AutoScalePolicyTO[]{ scaleUpPolicy, scaleDownPolicy }),
101+
vmProfile, state, currentState, loadBalancerId);
102+
}
103+
104+
@Test
105+
public void testCounterTO() {
106+
Assert.assertEquals(counterId, counter.getId());
107+
Assert.assertEquals(counterName, counter.getName());
108+
Assert.assertEquals(counterSource, counter.getSource());
109+
Assert.assertEquals(counterValue, counter.getValue());
110+
Assert.assertEquals(counterProvider, counter.getProvider());
111+
}
112+
113+
@Test
114+
public void testConditionTO() {
115+
Assert.assertEquals(conditionId, condition.getId());
116+
Assert.assertEquals((long) threshold, condition.getThreshold());
117+
Assert.assertEquals(relationalOperator, condition.getRelationalOperator());
118+
Assert.assertEquals(counter, condition.getCounter());
119+
}
120+
121+
@Test
122+
public void testAutoScalePolicyTO() {
123+
Assert.assertEquals((long) scaleUpPolicyId, scaleUpPolicy.getId());
124+
Assert.assertEquals(scaleUpPolicyDuration, scaleUpPolicy.getDuration());
125+
Assert.assertEquals(scaleUpPolicyQuietTime, scaleUpPolicy.getQuietTime());
126+
Assert.assertEquals(scaleUpPolicyLastQuietTime, scaleUpPolicy.getLastQuietTime());
127+
Assert.assertEquals(AutoScalePolicy.Action.ScaleUp, scaleUpPolicy.getAction());
128+
Assert.assertFalse(scaleUpPolicy.isRevoked());
129+
List<LoadBalancerTO.ConditionTO> scaleUpPolicyConditions = scaleUpPolicy.getConditions();
130+
Assert.assertEquals(1, scaleUpPolicyConditions.size());
131+
Assert.assertEquals(condition, scaleUpPolicyConditions.get(0));
132+
133+
Assert.assertEquals((long) scaleDownPolicyId, scaleDownPolicy.getId());
134+
Assert.assertEquals(scaleDownPolicyDuration, scaleDownPolicy.getDuration());
135+
Assert.assertEquals(scaleDownPolicyQuietTime, scaleDownPolicy.getQuietTime());
136+
Assert.assertEquals(scaleDownPolicyLastQuietTime, scaleDownPolicy.getLastQuietTime());
137+
Assert.assertEquals(AutoScalePolicy.Action.ScaleDown, scaleDownPolicy.getAction());
138+
Assert.assertFalse(scaleDownPolicy.isRevoked());
139+
List<LoadBalancerTO.ConditionTO> scaleDownPolicyConditions = scaleDownPolicy.getConditions();
140+
Assert.assertEquals(1, scaleDownPolicyConditions.size());
141+
Assert.assertEquals(condition, scaleDownPolicyConditions.get(0));
142+
}
143+
144+
@Test
145+
public void testAutoScaleVmProfileTO() {
146+
Assert.assertEquals(zoneId, vmProfile.getZoneId());
147+
Assert.assertEquals(domainId, vmProfile.getDomainId());
148+
Assert.assertEquals(templateId, vmProfile.getTemplateId());
149+
Assert.assertEquals(serviceOfferingId, vmProfile.getServiceOfferingId());
150+
Assert.assertEquals(otherDeployParams, vmProfile.getOtherDeployParams());
151+
Assert.assertEquals(counterParamList, vmProfile.getCounterParamList());
152+
Assert.assertEquals(destroyVmGraceperiod, vmProfile.getDestroyVmGraceperiod());
153+
Assert.assertEquals(cloudStackApiUrl, vmProfile.getCloudStackApiUrl());
154+
Assert.assertEquals(autoScaleUserApiKey, vmProfile.getAutoScaleUserApiKey());
155+
Assert.assertEquals(autoScaleUserSecretKey, vmProfile.getAutoScaleUserSecretKey());
156+
Assert.assertEquals(vmName, vmProfile.getVmName());
157+
Assert.assertEquals(networkId, vmProfile.getNetworkId());
158+
}
159+
160+
@Test
161+
public void testAutoScaleVmGroupTO() {
162+
Assert.assertEquals(vmGroupId, vmGroup.getId());
163+
Assert.assertEquals(vmGroupUuid, vmGroup.getUuid());
164+
Assert.assertEquals(minMembers, vmGroup.getMinMembers());
165+
Assert.assertEquals(maxMembers, vmGroup.getMaxMembers());
166+
Assert.assertEquals(memberPort, vmGroup.getMemberPort());
167+
Assert.assertEquals(interval, vmGroup.getInterval());
168+
Assert.assertEquals(vmProfile, vmGroup.getProfile());
169+
Assert.assertEquals(state, vmGroup.getState());
170+
Assert.assertEquals(currentState, vmGroup.getCurrentState());
171+
Assert.assertEquals(loadBalancerId, vmGroup.getLoadBalancerId());
172+
173+
List<LoadBalancerTO.AutoScalePolicyTO> policies = vmGroup.getPolicies();
174+
Assert.assertEquals(2, policies.size());
175+
}
176+
}

0 commit comments

Comments
 (0)