package org.ovirt.engine.api.restapi.resource; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.UriInfo; import org.junit.Test; import org.ovirt.engine.api.model.User; import org.ovirt.engine.core.common.businessentities.AdUser; import org.ovirt.engine.core.common.interfaces.SearchType; import org.ovirt.engine.core.compat.Guid; public class BackendDomainUserResourceTest extends AbstractBackendUserResourceTest<BackendDomainUserResource> { static final Guid USER_ID = GUIDS[1]; static final Guid DOMAIN_ID = GUIDS[2]; public BackendDomainUserResourceTest() { super(new BackendDomainUserResource(USER_ID.toString(), new BackendDomainUsersResource(DOMAIN_ID.toString(),null))); } @Test public void testBadGuid() throws Exception { control.replay(); try { new BackendDomainUserResource("foo", null); fail("expected WebApplicationException"); } catch (WebApplicationException wae) { verifyNotFoundException(wae); } } @Test public void testGet() throws Exception { UriInfo uriInfo = setUpBasicUriExpectations(); setUriInfo(uriInfo); setUpEntityQueryExpectations(1); initParetResource(resource.parent, uriInfo); control.replay(); verifyModel(resource.get(), 1); } @Override protected void verifyModel(User model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); assertEquals(NAMES[index], model.getName()); } @Test public void testGetNotFound() throws Exception { UriInfo uriInfo = setUpBasicUriExpectations(); setUriInfo(uriInfo); setUpEntityQueryExpectations(2); initParetResource(resource.parent, uriInfo); control.replay(); try { resource.get(); fail("expected WebApplicationException"); } catch (WebApplicationException wae) { verifyNotFoundException(wae); } } private void initParetResource(AbstractBackendUsersResource resource, UriInfo uriInfo) { initResource(resource); resource.setUriInfo(uriInfo); } protected void setUpEntityQueryExpectations(int index) throws Exception { AdUser user = BackendUsersResourceTest.setUpEntityExpectations(control.createMock(AdUser.class),index); setUpGetEntityExpectations("ADUSER@"+DOMAIN+": allnames=*", SearchType.AdUser, user); } }