Skip to content

Commit 0dc177c

Browse files
committed
deletion of some unused methods
1 parent 219de78 commit 0dc177c

File tree

3 files changed

+155
-49
lines changed

3 files changed

+155
-49
lines changed

server/src/main/java/com/cloud/configuration/Config.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ public enum Config {
426426
"Console proxy command port that is used to communicate with management server",
427427
null),
428428
ConsoleProxyRestart("Console Proxy", AgentManager.class, Boolean.class, "consoleproxy.restart", "true", "Console proxy restart flag, defaulted to true", null),
429-
ConsoleProxyUrlDomain("Console Proxy", AgentManager.class, String.class, "consoleproxy.url.domain", "", "Console proxy url domain", "domainName","privateip"),
429+
ConsoleProxyUrlDomain("Console Proxy", AgentManager.class, String.class, "consoleproxy.url.domain", "", "Console proxy url domain", "domainName", "privateip"),
430430
ConsoleProxySessionMax(
431431
"Console Proxy",
432432
AgentManager.class,

server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java

Lines changed: 28 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,7 +1107,7 @@ private String validateConfigurationValue(final String name, String value, final
11071107
Class<?> type = null;
11081108
final Config configuration = Config.getConfig(name);
11091109
if (configuration == null) {
1110-
s_logger.warn(String.format("Configuration [%s] could not be found in Config.java. Perhaps moved to ConfigDepot.", name));
1110+
s_logger.warn("Did not find configuration " + name + " in Config.java. Perhaps moved to ConfigDepot");
11111111
final ConfigKey<?> configKey = _configDepot.get(name);
11121112
if(configKey == null) {
11131113
s_logger.warn(String.format("Configuration [%s] could not be found in ConfigDepot."));
@@ -1224,7 +1224,7 @@ private String validateConfigurationValue(final String name, String value, final
12241224
}
12251225
}
12261226

1227-
if(configuration == null ) {
1227+
if (configuration == null ) {
12281228
//range validation has to be done per case basis, for now
12291229
//return in case of Configkey parameters
12301230
return null;
@@ -1246,35 +1246,29 @@ private String validateConfigurationValue(final String name, String value, final
12461246
protected String validateIfIntValueIsInRange(String name, String value, String range) {
12471247
final String[] options = range.split("-");
12481248
if (options.length != 2) {
1249-
final String msg = String.format("Configuration range [%1$s] for [%2$s] is invalid.", range, name);
1249+
String msg = String.format("Configuration range [%s] for [%s] is invalid.", range, name);
12501250
s_logger.error(msg);
12511251
return msg;
12521252
}
12531253
final int min = Integer.parseInt(options[0]);
12541254
final int max = Integer.parseInt(options[1]);
12551255
final int val = Integer.parseInt(value);
12561256
if (val < min || val > max) {
1257-
s_logger.error(String.format("Configuration value for [%s] is invalid. Please enter a value in the range: [%s].", name, range));
1258-
return String.format("Please enter a value in the range: [%s].", range);
1257+
s_logger.error(String.format("Invalid value for configuration [%s]. Please enter a value in the range [%s].", name, range));
1258+
return String.format("The provided value is not valid for this configuration. Please enter an integer in the range: [%s]", range);
12591259
}
12601260
return null;
12611261
}
12621262

12631263

12641264
private String validateIfStringValueIsInRange(String name, String value, String... range) {
1265-
String message = "";
1265+
List<String> message = new ArrayList<String>();
12661266
String errMessage = "";
12671267
for (String rangeOption : range) {
1268-
if (StringUtils.isNotBlank(message)) {
1269-
message = String.format("%s|| ", message);
1270-
}
12711268
switch (rangeOption) {
12721269
case "privateip":
12731270
errMessage = validateRangePrivateIp(name, value);
12741271
break;
1275-
case "netmask":
1276-
errMessage = validateRangeNetmask(name, value);
1277-
break;
12781272
case "hypervisorList":
12791273
errMessage = validateRangeHypervisorList(value);
12801274
break;
@@ -1284,45 +1278,41 @@ private String validateIfStringValueIsInRange(String name, String value, String.
12841278
case "domainName":
12851279
errMessage = validateRangeDomainName(value);
12861280
break;
1287-
case "routes":
1288-
errMessage = validateRangeRoutes(value);
1289-
break;
12901281
default:
12911282
errMessage = validateRangeOther(name, value, rangeOption);
12921283
}
1293-
if (errMessage == null) {
1284+
if (StringUtils.isEmpty(errMessage)) {
12941285
return null;
12951286
}
1296-
message = String.format("%1$s%2$s", message, errMessage);
1287+
message.add(errMessage);
12971288
}
1298-
return message;
1289+
if (message.size() == 1) {
1290+
return String.format("The provided value is not %s.", message.get(0));
1291+
}
1292+
return String.format("The provided value is neither %s.", String.join(" NOR ", message));
12991293
}
13001294

13011295
protected String validateRangePrivateIp(String name, String value) {
13021296
try {
13031297
if (NetUtils.isSiteLocalAddress(value)) {
13041298
return null;
13051299
}
1306-
s_logger.error(String.format("The private IP range [%1$s] is not a site local address for the configuration variable [%2$s].", value, name));
1300+
s_logger.error(String.format("Value [%s] is not a valid private IP range for configuration [%s].", value, name));
13071301
} catch (final NullPointerException e) {
13081302
s_logger.error(String.format("Error while parsing IP address for [%s].", name));
13091303
}
1310-
return "Please enter a site local IP address.";
1311-
}
1312-
1313-
protected String validateRangeNetmask(String name, String value) {
1314-
if (NetUtils.isValidIp4Netmask(value)) {
1315-
return null;
1316-
}
1317-
s_logger.error(String.format("Netmask [%1$s] is not a valid netmask for configuration variable [%2$s].", value, name));
1318-
return "Please enter a valid netmask.";
1304+
return "a valid site local IP address";
13191305
}
13201306

1307+
/**
1308+
* Valid values are XenServer, KVM, VMware, Hyperv, VirtualBox, Parralels, BareMetal, Simulator, Ovm, Ovm3, LXC
1309+
* Inputting "Any" will return the hypervisor type Any, other inputs will result in the hypervisor type none. Both of these are invalid values and will return an error message.
1310+
*/
13211311
protected String validateRangeHypervisorList(String value) {
13221312
final String[] hypervisors = value.split(",");
13231313
for (final String hypervisor : hypervisors) {
13241314
if (HypervisorType.getType(hypervisor) == HypervisorType.Any || HypervisorType.getType(hypervisor) == HypervisorType.None) {
1325-
return String.format("Please enter a valid hypervisor type.");
1315+
return "a valid hypervisor type";
13261316
}
13271317
}
13281318
return null;
@@ -1332,46 +1322,36 @@ protected String validateRangeInstanceName(String value) {
13321322
if (NetUtils.verifyInstanceName(value)) {
13331323
return null;
13341324
}
1335-
return "Instance name can not contain hyphen, space or plus sign.";
1325+
return "a valid instance name (instance names cannot contain hyphen, space or plus sign)";
13361326
}
13371327

1328+
/**
1329+
* max length for FQDN is 253 + 2, code adds xxx-xxx-xxx-xxx to domain name when creating URL.
1330+
* If it starts with "*.", these two symbols are ignored and do not count towards the character limit.
1331+
*/
13381332
protected String validateRangeDomainName(String value) {
13391333
String domainName = value;
13401334
if (value.startsWith("*")) {
13411335
domainName = value.substring(2); //skip the "*."
13421336
}
1343-
//max length for FQDN is 253 + 2, code adds xxx-xxx-xxx-xxx to domain name when creating URL
13441337
if (domainName.length() >= 238 || !domainName.matches(DOMAIN_NAME_PATTERN)) {
1345-
return "Please enter a valid string for domain name, prefixed with '*.' if applicable.";
1338+
return "a valid domain name";
13461339
}
13471340
return null;
13481341
}
13491342

1350-
protected String validateRangeRoutes(String value) {
1351-
final String[] routes = value.split(",");
1352-
String message = "";
1353-
for (final String route : routes) {
1354-
final String routeToVerify = route.trim();
1355-
if (!NetUtils.isValidIp4Cidr(routeToVerify)) {
1356-
message = String.format("%1$sInvalid value for route: route [%2$s] is in the deny list. Valid format is a list of CIDRs separated by comma. Example: 10.1.1.0/24,192.168.0.0/24.", message, route);
1357-
} else {
1358-
return null;
1359-
}
1360-
}
1361-
return message;
1362-
}
1363-
13641343
protected String validateRangeOther(String name, String value, String rangeOption) {
13651344
final String[] options = rangeOption.split(",");
13661345
for (final String option : options) {
13671346
if (option.trim().equalsIgnoreCase(value)) {
13681347
return null;
13691348
}
13701349
}
1371-
s_logger.error(String.format("Configuration value for [%s] is invalid.", name));
1372-
return String.format("Invalid value, please enter [%s].", rangeOption);
1350+
s_logger.error(String.format("Invalid value for configuration [%s].", name));
1351+
return String.format("a valid value for this configuration (Options are: [%s])", rangeOption);
13731352
}
13741353

1354+
13751355
private boolean podHasAllocatedPrivateIPs(final long podId) {
13761356
final HostPodVO pod = _podDao.findById(podId);
13771357
final int count = _privateIpAddressDao.countIPs(podId, pod.getDataCenterId(), true);
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
package com.cloud.configuration;
2+
3+
import com.cloud.utils.net.NetUtils;
4+
import org.junit.Assert;
5+
import org.junit.Test;
6+
import org.junit.runner.RunWith;
7+
import org.mockito.Mockito;
8+
import org.powermock.api.mockito.PowerMockito;
9+
import org.powermock.core.classloader.annotations.PrepareForTest;
10+
import org.powermock.modules.junit4.PowerMockRunner;
11+
12+
13+
@RunWith(PowerMockRunner.class)
14+
@PrepareForTest(NetUtils.class)
15+
public class ConfigurationManagerImplTest {
16+
ConfigurationManagerImpl configurationManagerImplSpy = Mockito.spy(new ConfigurationManagerImpl());
17+
@Test
18+
public void validateIfIntValueIsInRangeTestValidValueReturnNull() {
19+
String testVariable = configurationManagerImplSpy.validateIfIntValueIsInRange("String name", "3", "1-5");
20+
Assert.assertNull(testVariable);
21+
}
22+
23+
@Test
24+
public void validateIfIntValueIsInRangeTestInvalidValueReturnString() {
25+
String testVariable = configurationManagerImplSpy.validateIfIntValueIsInRange("String name", "9", "1-5");
26+
Assert.assertNotNull(testVariable);
27+
}
28+
29+
@Test
30+
public void validateRangePrivateIpTestValidValueReturnNull() {
31+
PowerMockito.mockStatic(NetUtils.class);
32+
PowerMockito.when(NetUtils.isSiteLocalAddress(Mockito.anyString())).thenReturn(true);
33+
String testVariable = configurationManagerImplSpy.validateRangePrivateIp("name", "192.168.122.206");
34+
Assert.assertNull(testVariable);
35+
}
36+
37+
@Test
38+
public void validateRangePrivateIpTestInvalidValueReturnString() {
39+
PowerMockito.mockStatic(NetUtils.class);
40+
PowerMockito.when(NetUtils.isSiteLocalAddress(Mockito.anyString())).thenReturn(false);
41+
String testVariable = configurationManagerImplSpy.validateRangePrivateIp("name", "value");
42+
Assert.assertEquals("a valid site local IP address", testVariable);
43+
}
44+
45+
@Test
46+
public void validateRangeHypervisorListTestValidValueReturnNull() {
47+
String testVariable = configurationManagerImplSpy.validateRangeHypervisorList("Ovm3,VirtualBox,KVM,VMware");
48+
Assert.assertNull(testVariable);
49+
}
50+
51+
@Test
52+
public void validateRangeHypervisorListTestInvalidValueReturnString() {
53+
String testVariable = configurationManagerImplSpy.validateRangeHypervisorList("Ovm3,VirtualBox,KVM,VMware,Any,InvalidHypervisorName");
54+
Assert.assertEquals("a valid hypervisor type", testVariable);
55+
}
56+
57+
@Test
58+
public void validateRangeInstanceNameTestValidValueReturnNull() {
59+
PowerMockito.mockStatic(NetUtils.class);
60+
PowerMockito.when(NetUtils.verifyInstanceName(Mockito.anyString())).thenReturn(true);
61+
String testVariable = configurationManagerImplSpy.validateRangeInstanceName("ThisStringShouldBeValid");
62+
Assert.assertNull(testVariable);
63+
}
64+
65+
@Test
66+
public void validateRangeInstanceNameTestInvalidValueReturnString() {
67+
PowerMockito.mockStatic(NetUtils.class);
68+
PowerMockito.when(NetUtils.verifyInstanceName(Mockito.anyString())).thenReturn(false);
69+
String testVariable = configurationManagerImplSpy.validateRangeInstanceName("This string should not be valid.");
70+
Assert.assertEquals("a valid instance name (instance names cannot contain hyphen, space or plus sign)",testVariable);
71+
}
72+
73+
@Test
74+
public void validateRangeDomainNameTestValueDoesNotStartWithStarAndIsAValidValueReturnNull() {
75+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("ThisStringShould.Work");
76+
Assert.assertNull(testVariable);
77+
}
78+
79+
@Test
80+
public void validateRangeDomainNameTestValueDoesNotStartWithStarAndIsAValidValueButIsOver238charactersLongReturnString() {
81+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("ThisStringDoesNotStartWithStarAndIsOverTwoHundredAndForty.CharactersLongWithAtLeast" +
82+
"OnePeriodEverySixtyFourLetters.ThisShouldCauseAnErrorBecauseItIsTooLong.TheRestOfThisAreRandomlyGeneratedCharacters.gNXhNOBNTNAoMCQqJMzcvFSBwHUhmWHftjfTNUaHR");
83+
Assert.assertEquals("a valid domain name",testVariable);
84+
}
85+
86+
@Test
87+
public void validateRangeDomainNameTestValueDoesNotStartWithStarAndIsNotAValidValueReturnString() {
88+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("ThisStringDoesNotMatchThePatternFor.DomainNamesSinceItHas1NumberInTheLastPartOfTheString");
89+
Assert.assertEquals("a valid domain name",testVariable);
90+
}
91+
92+
@Test
93+
public void validateRangeDomainNameTestValueStartsWithStarAndIsAValidValueReturnNull() {
94+
95+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("*.ThisStringStartsWithAStarAndAPeriod.ThisShouldWorkEvenThoughItIsOverTwoHundredAnd" +
96+
"ThirtyEight.CharactersLong.BecauseTheFirstTwoCharactersAreIgnored.TheRestOfThisStringWasRandomlyGenerated.MgTUerXPlLyMaUpKTjAhxasFYRCfNCXmtWDwqSDOcTjASWlAXS");
97+
Assert.assertNull(testVariable);
98+
}
99+
100+
@Test
101+
public void validateRangeDomainNameTestValueStartsWithStarAndIsAValidValueButIsOver238charactersLongReturnString() {
102+
103+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("*.ThisStringStartsWithStarAndIsOverTwoHundredAndForty.CharactersLongWithAtLeastOnePeriod" +
104+
"EverySixtyFourLetters.ThisShouldCauseAnErrorBecauseItIsTooLong.TheRestOfThisAreRandomlyGeneratedCharacters.gNXNOBNTNAoMChQqJMzcvFSBwHUhmWHftjfTNUaHRKVyXm");
105+
Assert.assertEquals("a valid domain name",testVariable);
106+
}
107+
108+
@Test
109+
public void validateRangeDomainNameTestValueStartsWithStarAndIsNotAValidValueReturnString() {
110+
111+
String testVariable = configurationManagerImplSpy.validateRangeDomainName("*.ThisStringDoesNotMatchThePatternFor.DomainNamesSinceItHas1NumberInTheLastPartOfTheString");
112+
Assert.assertEquals("a valid domain name",testVariable);
113+
}
114+
115+
@Test
116+
public void validateRangeOtherTestValidValueReturnNull() {
117+
String testVariable = configurationManagerImplSpy.validateRangeOther("NameTest1", "SoShouldThis", "ThisShouldWork,ThisShouldAlsoWork,SoShouldThis");
118+
Assert.assertNull(testVariable);
119+
}
120+
121+
@Test
122+
public void validateRangeOtherTestInvalidValueReturnString() {
123+
String testVariable = configurationManagerImplSpy.validateRangeOther("NameTest1", "ThisShouldNotWork", "ThisShouldWork,ThisShouldAlsoWork,SoShouldThis");
124+
Assert.assertNotNull(testVariable);
125+
}
126+
}

0 commit comments

Comments
 (0)