Thanks @justinThompson great start! As you are adding `HealthCheckApi` and `SubnetApi` could you also add the `*ExpectTest`s for those APIs, along the `*LiveTest`s ?
It could be interesting to know that the style of those `ExpectTest` is actually deprecated as jclouds is adopting a (simpler) pattern -- see this [example](https://github.com/jclouds/jclouds/blob/master/providers/digitalocean2/src/test/java/org/jclouds/digitalocean2/features/DropletApiMockTest.java) to get the idea. It would be great if you could write the unit tests for SubnetApi and HealthCheckApi with the new style, but `*ExpectTest` would be good as well! --- I've tested the live test with `mvn clean install -Plive` from elb module and I can see those errors ``` Starting test testList(org.jclouds.elb.features.LoadBalancerApiLiveTest) Starting test testDescribePolicies(org.jclouds.elb.features.PolicyApiLiveTest) Starting test testListInstanceStates(org.jclouds.elb.features.InstanceApiLiveTest) [TestNG] Test testList(org.jclouds.elb.features.LoadBalancerApiLiveTest) succeeded: 1139ms Test suite progress: tests succeeded: 1, failed: 0, skipped: 0. [TestNG] Test testListInstanceStates(org.jclouds.elb.features.InstanceApiLiveTest) succeeded: 1139ms Test suite progress: tests succeeded: 2, failed: 0, skipped: 0. Starting test testListWithOptions(org.jclouds.elb.features.LoadBalancerApiLiveTest) Starting test testConfigureHealthCheck(org.jclouds.elb.features.HealthCheckApiLiveTest) [TestNG] Test testDescribePolicies(org.jclouds.elb.features.PolicyApiLiveTest) failed. Test suite progress: tests succeeded: 2, failed: 1, skipped: 0. Starting test testDescribePolicyTypes(org.jclouds.elb.features.PolicyApiLiveTest) [TestNG] Test testConfigureHealthCheck(org.jclouds.elb.features.HealthCheckApiLiveTest) succeeded: 635ms Test suite progress: tests succeeded: 3, failed: 1, skipped: 0. [TestNG] Test testDescribePolicyTypes(org.jclouds.elb.features.PolicyApiLiveTest) failed. Test suite progress: tests succeeded: 3, failed: 2, skipped: 0. [TestNG] Test testListWithOptions(org.jclouds.elb.features.LoadBalancerApiLiveTest) succeeded: 2268ms Test suite progress: tests succeeded: 4, failed: 2, skipped: 0. Starting test testLoadBalanceNodesMatching(org.jclouds.elb.loadbalancer.ELBLoadBalancerServiceLiveTest) [TestNG] Test testLoadBalanceNodesMatching(org.jclouds.elb.loadbalancer.ELBLoadBalancerServiceLiveTest) failed. Test suite progress: tests succeeded: 4, failed: 3, skipped: 0. [TestNG] Test testDestroyLoadBalancers(org.jclouds.elb.loadbalancer.ELBLoadBalancerServiceLiveTest) skipped. Test suite progress: tests succeeded: 4, failed: 3, skipped: 1. Tests run: 8, Failures: 3, Errors: 0, Skipped: 1, Time elapsed: 79.132 sec <<< FAILURE! - in TestSuite testDescribePolicies(org.jclouds.elb.features.PolicyApiLiveTest) Time elapsed: 0.107 sec <<< FAILURE! java.lang.RuntimeException: request: POST https://elasticloadbalancing.us-east-1.amazonaws.com/ HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: POST https://elasticloadbalancing.us-east-1.amazonaws.com/ HTTP/1.1; cause: java.lang.NullPointerException: key at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229) at org.jclouds.elb.domain.Policy$Builder.attribute(Policy.java:75) at org.jclouds.elb.xml.PolicyHandler.endElement(PolicyHandler.java:65) at org.jclouds.elb.xml.DescribeLoadBalancerPoliciesResultHandler.endElement(DescribeLoadBalancerPoliciesResultHandler.java:87) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1783) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:140) at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:129) at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:83) at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:51) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy49.list(Unknown Source) at org.jclouds.elb.features.PolicyApiLiveTest.testDescribePolicies(PolicyApiLiveTest.java:44) testDescribePolicyTypes(org.jclouds.elb.features.PolicyApiLiveTest) Time elapsed: 0.829 sec <<< FAILURE! java.lang.RuntimeException: request: POST https://elasticloadbalancing.us-east-1.amazonaws.com/ HTTP/1.1; response: HTTP/1.1 200 OK; cause: java.lang.RuntimeException: request: POST https://elasticloadbalancing.us-east-1.amazonaws.com/ HTTP/1.1; cause: java.lang.NullPointerException: description at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:229) at org.jclouds.elb.domain.PolicyType.<init>(PolicyType.java:98) at org.jclouds.elb.domain.PolicyType$Builder.build(PolicyType.java:84) at org.jclouds.elb.xml.PolicyTypeHandler.getResult(PolicyTypeHandler.java:53) at org.jclouds.elb.xml.DescribeLoadBalancerPolicyTypesResultHandler.endMember(DescribeLoadBalancerPolicyTypesResultHandler.java:96) at org.jclouds.elb.xml.DescribeLoadBalancerPolicyTypesResultHandler.endElement(DescribeLoadBalancerPolicyTypesResultHandler.java:82) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1783) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2970) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) at org.jclouds.http.functions.ParseSax.doParse(ParseSax.java:140) at org.jclouds.http.functions.ParseSax.parse(ParseSax.java:129) at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:83) at org.jclouds.http.functions.ParseSax.apply(ParseSax.java:51) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy49.listTypes(Unknown Source) at org.jclouds.elb.features.PolicyApiLiveTest.testDescribePolicyTypes(PolicyApiLiveTest.java:76) testLoadBalanceNodesMatching(org.jclouds.elb.loadbalancer.ELBLoadBalancerServiceLiveTest) Time elapsed: 0.78 sec <<< FAILURE! org.jclouds.aws.AWSResponseException: request POST https://elasticloadbalancing.us-east-1.amazonaws.com/ HTTP/1.1 failed with code 400, error: AWSError{requestId='246799f4-e000-11e6-a0f5-eb49544255f4', requestToken='null', code='ValidationError', message='Invalid Availability Zone: eu-central-1b', context='{Type=Sender, ErrorResponse=}'} at org.jclouds.aws.handlers.ParseAWSErrorFromXmlContent.handleError(ParseAWSErrorFromXmlContent.java:75) at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65) at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:140) at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:109) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy50.createListeningInAvailabilityZones(Unknown Source) at org.jclouds.elb.loadbalancer.strategy.ELBLoadBalanceNodesStrategy.createLoadBalancerInLocation(ELBLoadBalanceNodesStrategy.java:79) at org.jclouds.loadbalancer.internal.BaseLoadBalancerService.createLoadBalancerInLocation(BaseLoadBalancerService.java:111) at org.jclouds.loadbalancer.BaseLoadBalancerServiceLiveTest.testLoadBalanceNodesMatching(BaseLoadBalancerServiceLiveTest.java:152) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) at org.testng.internal.Invoker.invokeMethod(Invoker.java:696) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:882) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1189) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:348) at org.testng.SuiteRunner.access$000(SuiteRunner.java:38) at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382) at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Results : Failed tests: PolicyApiLiveTest.testDescribePolicies:44 » Runtime request: POST https://elas... PolicyApiLiveTest.testDescribePolicyTypes:76 » Runtime request: POST https://e... ELBLoadBalancerServiceLiveTest>BaseLoadBalancerServiceLiveTest.testLoadBalanceNodesMatching:152 » AWSResponse Tests run: 8, Failures: 3, Errors: 0, Skipped: 1 ``` Those errors are probably not directly related to your PR but it would be great to take care of them, if you have bandwidth! thanks! -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-labs-aws/pull/70#issuecomment-274276435
