Skip to content

Commit 550080c

Browse files
naraharip2017pdk27
andauthored
handling issues 347,364 (#385)
* handling issues 347,364 * updating default for fleet items and adding specific error message when default is selected * updating error message for checkFleet * removing checkMethod info from fleet select entry --------- Co-authored-by: Prathibha Datta Kumar <[email protected]>
1 parent 035a0c2 commit 550080c

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

src/main/java/com/amazon/jenkins/ec2fleet/EC2FleetCloud.java

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import hudson.slaves.NodeProvisioner;
2424
import hudson.util.FormValidation;
2525
import hudson.util.ListBoxModel;
26+
import hudson.util.ListBoxModel.Option;
2627
import jenkins.model.Jenkins;
2728
import net.sf.json.JSONObject;
2829
import org.apache.commons.lang.StringUtils;
@@ -977,6 +978,7 @@ public ListBoxModel doFillFleetItems(@QueryParameter final boolean showAllFleets
977978
@QueryParameter final String awsCredentialsId,
978979
@QueryParameter final String fleet) {
979980
final ListBoxModel model = new ListBoxModel();
981+
model.add(0, new Option("- please select -", "", true));
980982
try {
981983
for (final EC2Fleet EC2Fleet : EC2Fleets.all()) {
982984
EC2Fleet.describe(
@@ -990,6 +992,14 @@ public ListBoxModel doFillFleetItems(@QueryParameter final boolean showAllFleets
990992
return model;
991993
}
992994

995+
public FormValidation doCheckFleet(@QueryParameter final String fleet) {
996+
if (StringUtils.isEmpty(fleet)) {
997+
return FormValidation.error("Please select a valid EC2 Fleet");
998+
} else {
999+
return FormValidation.ok();
1000+
}
1001+
}
1002+
9931003
public FormValidation doTestConnection(
9941004
@QueryParameter final String awsCredentialsId,
9951005
@QueryParameter final String region,

src/test/java/com/amazon/jenkins/ec2fleet/EC2FleetCloudTest.java

+20-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import hudson.slaves.ComputerConnector;
2828
import hudson.slaves.NodeProvisioner;
2929
import hudson.util.FormValidation;
30+
import hudson.util.FormValidation.Kind;
3031
import hudson.util.ListBoxModel;
3132
import jenkins.model.Jenkins;
3233
import jenkins.model.Nodes;
@@ -1892,7 +1893,8 @@ public void descriptorImpl_doFillFleetItems_returnEmptyListIfNoEmptyEC2Fleet() {
18921893
ListBoxModel r = new EC2FleetCloud.DescriptorImpl().doFillFleetItems(
18931894
false, "", "", "", "");
18941895

1895-
assertEquals(0, r.size());
1896+
assertEquals(1, r.size());
1897+
assertEquals("", r.get(0).value);
18961898
}
18971899

18981900
@Test
@@ -1904,7 +1906,8 @@ public void descriptorImpl_doFillFleetItems_returnFleetsProvidedByAllEC2Fleets()
19041906
ListBoxModel r = new EC2FleetCloud.DescriptorImpl().doFillFleetItems(
19051907
false, "", "", "", "");
19061908

1907-
assertEquals(0, r.size());
1909+
assertEquals(1, r.size());
1910+
assertEquals("", r.get(0).value);
19081911
verify(ec2SpotFleet).describe("", "", "", r, "", false);
19091912
verify(autoScalingGroupFleet).describe("", "", "", r, "", false);
19101913
}
@@ -1921,7 +1924,21 @@ public void descriptorImpl_doFillFleetItems_returnEmptyListIfAnyException() {
19211924
ListBoxModel r = new EC2FleetCloud.DescriptorImpl().doFillFleetItems(
19221925
false, "", "", "", "");
19231926

1924-
assertEquals(0, r.size());
1927+
assertEquals(1, r.size());
1928+
assertEquals("", r.get(0).value);
1929+
}
1930+
1931+
@Test
1932+
public void descriptorImpl_doCheckFleet_default() {
1933+
FormValidation formValidation = new EC2FleetCloud.DescriptorImpl().doCheckFleet("");
1934+
assertEquals(formValidation.kind, Kind.ERROR);
1935+
}
1936+
1937+
@Test
1938+
public void descriptorImpl_doCheckFleet_nonDefault() {
1939+
FormValidation formValidation = new EC2FleetCloud.DescriptorImpl().doCheckFleet("ASG1");
1940+
assertEquals(formValidation.kind, Kind.OK);
1941+
19251942
}
19261943

19271944
@Test

0 commit comments

Comments
 (0)