Skip to content

Commit

Permalink
Guard against NPE in RegistrationRequest#build()
Browse files Browse the repository at this point in the history
  • Loading branch information
mach6 committed Nov 17, 2016
1 parent 705be71 commit 9f2c118
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
21 changes: 11 additions & 10 deletions java/server/src/org/openqa/grid/common/RegistrationRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -200,21 +200,22 @@ public static RegistrationRequest build(GridNodeConfiguration configuration, Str
* @return
*/
public static RegistrationRequest build(GridNodeConfiguration configuration, String name, String description) {
RegistrationRequest pendingRequest = (configuration == null) ?
new RegistrationRequest(new GridNodeConfiguration(), name, description) :
new RegistrationRequest(configuration, name, description);
GridNodeConfiguration pendingConfiguration = (configuration == null) ?
new GridNodeConfiguration() : configuration;

if (configuration.nodeConfigFile != null) {
pendingRequest.configuration = GridNodeConfiguration.loadFromJSON(configuration.nodeConfigFile);
RegistrationRequest pendingRequest = new RegistrationRequest(pendingConfiguration, name, description);

if (pendingConfiguration.nodeConfigFile != null) {
pendingRequest.configuration = GridNodeConfiguration.loadFromJSON(pendingConfiguration.nodeConfigFile);
}

pendingRequest.configuration.merge(configuration);
pendingRequest.configuration.merge(pendingConfiguration);
//update important merge protected values for the pendingRequest we are building.
if (configuration.host != null) {
pendingRequest.configuration.host = configuration.host;
if (pendingConfiguration.host != null) {
pendingRequest.configuration.host = pendingConfiguration.host;
}
if (configuration.port != null) {
pendingRequest.configuration.port = configuration.port;
if (pendingConfiguration.port != null) {
pendingRequest.configuration.port = pendingConfiguration.port;
}

// make sure we have a valid host
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import com.beust.jcommander.JCommander;
Expand Down Expand Up @@ -178,4 +179,16 @@ public void testBuildWithConfiguration() {

assertEquals(expectedConfig.toString(), req.getConfiguration().toString());
}

/**
* Tests that RegistrationRequest.build() performs as expected
*/
@Test
public void testBuild() {
RegistrationRequest req = RegistrationRequest.build();
assertNotNull(req);
assertNotNull(req.getConfiguration());
assertNull(req.getName());
assertNull(req.getDescription());
}
}

0 comments on commit 9f2c118

Please sign in to comment.