SLIDER-562: regression: mock tests failing
diff --git a/slider-core/src/main/java/org/apache/slider/core/conf/MapOperations.java b/slider-core/src/main/java/org/apache/slider/core/conf/MapOperations.java
index bba3ee2..6503c9b 100644
--- a/slider-core/src/main/java/org/apache/slider/core/conf/MapOperations.java
+++ b/slider-core/src/main/java/org/apache/slider/core/conf/MapOperations.java
@@ -112,7 +112,11 @@
         log.debug("Missing key {} from config containing {}",
                   key, this);
       }
-      throw new BadConfigException("Missing option " + key);
+      String text = "Missing option " + key;
+      if (SliderUtils.isSet(name)) {
+        text += " from set " + name;
+      }
+      throw new BadConfigException(text);
     }
     return val;
   }
diff --git a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
index 24245bb..31658bc 100644
--- a/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
+++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/state/AppState.java
@@ -477,19 +477,16 @@
 
     Set<String> confKeys = ConfigHelper.sortedConfigKeys(publishedProviderConf);
 
-//     Add the -site configuration properties
+    //  Add the -site configuration properties
     for (String key : confKeys) {
       String val = publishedProviderConf.get(key);
       clientProperties.put(key, val);
     }
 
-
     // set the cluster specification (once its dependency the client properties
     // is out the way
-
     updateInstanceDefinition(instanceDefinition);
 
-
     //build the initial role list
     for (ProviderRole providerRole : providerRoles) {
       buildRole(providerRole);
@@ -502,7 +499,7 @@
     for (String name : roleNames) {
       if (!roles.containsKey(name)) {
         // this is a new value
-        log.info("Adding new role {}", name);
+        log.info("Adding role {}", name);
         MapOperations resComponent = resources.getComponent(name);
         ProviderRole dynamicRole =
             createDynamicProviderRole(name, resComponent);
@@ -582,16 +579,14 @@
                                                         BadConfigException {
     String priOpt = component.getMandatoryOption(ResourceKeys.COMPONENT_PRIORITY);
     int pri = SliderUtils.parseAndValidate("value of " + name + " " +
-                                           ResourceKeys.COMPONENT_PRIORITY,
-        priOpt, 0, 1, -1
-    );
+        ResourceKeys.COMPONENT_PRIORITY,
+        priOpt, 0, 1, -1);
     log.info("Role {} assigned priority {}", name, pri);
     String placementOpt = component.getOption(
       ResourceKeys.COMPONENT_PLACEMENT_POLICY, "0");
     int placement = SliderUtils.parseAndValidate("value of " + name + " " +
-                                                 ResourceKeys.COMPONENT_PLACEMENT_POLICY,
-        placementOpt, 0, 0, -1
-    );
+        ResourceKeys.COMPONENT_PLACEMENT_POLICY,
+        placementOpt, 0, 0, -1);
     return new ProviderRole(name, pri, placement);
   }
 
@@ -608,10 +603,13 @@
     instanceDefinition.resolve();
 
     // force in the AM desired state values
-    instanceDefinition.getResourceOperations().setComponentOpt(
-        SliderKeys.COMPONENT_AM, ResourceKeys.COMPONENT_INSTANCES, "1"
-    );
-    
+    ConfTreeOperations resources =
+        instanceDefinition.getResourceOperations();
+    if (resources.getComponent(SliderKeys.COMPONENT_AM) != null) {
+      resources.setComponentOpt(
+          SliderKeys.COMPONENT_AM, ResourceKeys.COMPONENT_INSTANCES, "1");
+    }
+
     //note the time 
     snapshotTime = now();
     //snapshot all three sectons
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/BaseMockAppStateTest.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/BaseMockAppStateTest.groovy
index 1b5ac4b..6c0f571 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/BaseMockAppStateTest.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/BaseMockAppStateTest.groovy
@@ -33,7 +33,6 @@
 import org.apache.slider.core.conf.AggregateConf
 import org.apache.slider.core.main.LauncherExitCodes
 import org.apache.slider.server.appmaster.operations.AbstractRMOperation
-import org.apache.slider.server.appmaster.operations.ContainerRequestOperation
 import org.apache.slider.server.appmaster.state.*
 import org.apache.slider.test.SliderTestBase
 import org.junit.Before
diff --git a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockFactory.groovy b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockFactory.groovy
index 1396795..311c049 100644
--- a/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockFactory.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/server/appmaster/model/mock/MockFactory.groovy
@@ -35,7 +35,7 @@
  */
 //@CompileStatic
 @Slf4j
-class MockFactory implements  MockRoles {
+class MockFactory implements MockRoles {
 
   public static final ProviderRole PROVIDER_ROLE0 = new ProviderRole(
       MockRoles.ROLE0,