// Path: src/main/java/net/ozwolf/mockserver/raml/specification/ClassPathSpecification.java
// public class ClassPathSpecification extends RamlSpecification {
//     private final String resource;
// 
//     /**
//      * Create a new RAML specification
//      *
//      * @param name     The name of specification
//      * @param resource The ClassPath resource to load
//      */
//     public ClassPathSpecification(String name, String resource) {
//         super(name);
//         this.resource = resource;
//     }
// 
//     @Override
//     protected Raml getRaml() {
//         InputStream stream = getClass().getClassLoader().getResourceAsStream(resource);
//         if (stream == null)
//             throw new IllegalStateException(String.format("[ %s ] resource does not exist", resource));
// 
//         return new RamlDocumentBuilder().build(resource);
//     }
// }
// 
// Path: src/test/java/net/ozwolf/mockserver/raml/util/Fixtures.java
// public static String fixture(String resource) throws IOException {
//     return IOUtils.toString(Fixtures.class.getClassLoader().getResourceAsStream(resource))
//             .replaceAll("\r\n", "\n");
// }


import net.ozwolf.mockserver.raml.specification.ClassPathSpecification;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.JerseyClientBuilder;
import org.json.JSONException;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.mockserver.client.server.MockServerClient;
import org.mockserver.junit.MockServerRule;
import org.mockserver.model.Header;
import org.mockserver.model.Parameter;
import org.skyscreamer.jsonassert.JSONAssert;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
import static net.ozwolf.mockserver.raml.util.Fixtures.fixture;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockserver.model.HttpRequest.request;
import static org.mockserver.model.HttpResponse.response;
package net.ozwolf.mockserver.raml;




public class RamlSpecificationRuleIntegrationTest {
    @Rule
    public MockServerRule server = new MockServerRule(this, 5000);

    @ClassRule
    public final static RamlSpecificationsRule SPECIFICATIONS = new RamlSpecificationsRule()
            .withSpecifications(
// Path: src/main/java/net/ozwolf/mockserver/raml/specification/ClassPathSpecification.java
// public class ClassPathSpecification extends RamlSpecification {
//     private final String resource;
// 
//     /**
//      * Create a new RAML specification
//      *
//      * @param name     The name of specification
//      * @param resource The ClassPath resource to load
//      */
//     public ClassPathSpecification(String name, String resource) {
//         super(name);
//         this.resource = resource;
//     }
// 
//     @Override
//     protected Raml getRaml() {
//         InputStream stream = getClass().getClassLoader().getResourceAsStream(resource);
//         if (stream == null)
//             throw new IllegalStateException(String.format("[ %s ] resource does not exist", resource));
// 
//         return new RamlDocumentBuilder().build(resource);
//     }
// }
// 
// Path: src/test/java/net/ozwolf/mockserver/raml/util/Fixtures.java
// public static String fixture(String resource) throws IOException {
//     return IOUtils.toString(Fixtures.class.getClassLoader().getResourceAsStream(resource))
//             .replaceAll("\r\n", "\n");
// }


// Path: src/test/java/net/ozwolf/mockserver/raml/RamlSpecificationRuleIntegrationTest.java
import net.ozwolf.mockserver.raml.specification.ClassPathSpecification;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.JerseyClientBuilder;
import org.json.JSONException;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.mockserver.client.server.MockServerClient;
import org.mockserver.junit.MockServerRule;
import org.mockserver.model.Header;
import org.mockserver.model.Parameter;
import org.skyscreamer.jsonassert.JSONAssert;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
import static net.ozwolf.mockserver.raml.util.Fixtures.fixture;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.mockserver.model.HttpRequest.request;
import static org.mockserver.model.HttpResponse.response;

package net.ozwolf.mockserver.raml;




public class RamlSpecificationRuleIntegrationTest {
    @Rule
    public MockServerRule server = new MockServerRule(this, 5000);

    @ClassRule
    public final static RamlSpecificationsRule SPECIFICATIONS = new RamlSpecificationsRule()
            .withSpecifications(
                    new ClassPathSpecification("my-service", "apispecs-test/apispecs.raml")