@Test public void createdAdapterFailsOnCreateIfHandlerViolatesPostcondition(final @Mocked Resource resource, final @Mocked WriteSessionService service, final @Mocked WriteSessionConfiguration configuration, final @Mocked WriteSession session) throws Exception { Adapter adapter=prepareAdapter(resource, service,configuration, new MockContainerSnapshot(), violationHandler(),session); try { adapter.create(null); fail("Should fail if create postcondition is violated"); } catch(FeaturePostconditionException e) { verifyExpectedFeatureException(e, ContainerHandler.class, ViolationHandler.class, session); } }
@Override public boolean removeMember(ResourceSnapshot resource) { throw fail(); }
@Override public ResourceSnapshot addMember(Name<?> resourceName) { throw fail(); }
@Override public Set<? extends ResourceSnapshot> members() { throw fail(); }
@Override public boolean hasMember(ResourceSnapshot resource) { throw fail(); }
@Test public void createdAdapterFailsOnQueryIfHandlerViolatesPostcondition(final @Mocked Resource resource, final @Mocked WriteSessionService service, final @Mocked WriteSessionConfiguration configuration, final @Mocked WriteSession session) throws Exception { Adapter adapter=prepareAdapter(resource, service,configuration, new MockContainerSnapshot(), violationHandler(),session); try { adapter.query(null); fail("Should fail if query postcondition is violated"); } catch(FeaturePostconditionException e) { verifyExpectedFeatureException(e, Queryable.class, ViolationHandler.class, session); } }
@Test public void createdAdapterFailsOnGetIfHandlerViolatesPostcondition(final @Mocked Resource resource, final @Mocked WriteSessionService service, final @Mocked WriteSessionConfiguration configuration, final @Mocked WriteSession session) throws Exception { Adapter adapter=prepareAdapter(resource, service,configuration, new MockContainerSnapshot(), violationHandler(),session); try { adapter.get(); fail("Should fail if get postcondition is violated"); } catch(FeaturePostconditionException e) { verifyExpectedFeatureException(e, ResourceHandler.class, ViolationHandler.class, session); } }
@Test public void createdAdapterFailsOnCreateIfHandlerIsNotAContainerHandler(final @Mocked Resource resource, final @Mocked WriteSessionService service, final @Mocked WriteSessionConfiguration configuration, final @Mocked WriteSession session) throws Exception { Adapter adapter=prepareAdapter(resource, service,configuration, new MockContainerSnapshot(), simpleHandler(),session); try { adapter.create(null); fail("Should fail if an exception is thrown on create"); } catch(FeatureException e) { verifyExpectedFeatureException(e, ContainerHandler.class, SimpleHandler.class, session); } }
@Test public void createdAdapterFailsOnInternalCreateFailure(final @Mocked Resource resource, final @Mocked WriteSessionService service, final @Mocked WriteSessionConfiguration configuration, final @Mocked WriteSession session) throws Exception { Adapter adapter=prepareAdapter(resource, service,configuration, new MockContainerSnapshot(), new FailingHandler(),session); try { adapter.create(null); fail("Should fail if an exception is thrown on create"); } catch(FeatureException e) { verifyExpectedFeatureFailure(e, ContainerHandler.class, session); } }