package com.jaspersoft.jasperserver.jaxrs.client.apiadapters.authority.organizations; import com.jaspersoft.jasperserver.dto.authority.ClientTenant; import com.jaspersoft.jasperserver.jaxrs.client.core.JerseyRequest; import com.jaspersoft.jasperserver.jaxrs.client.core.SessionStorage; import com.jaspersoft.jasperserver.jaxrs.client.core.operationresult.OperationResult; import org.mockito.Mock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.testng.PowerMockTestCase; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import static org.mockito.Mockito.reset; import static org.mockito.MockitoAnnotations.initMocks; import static org.powermock.api.mockito.PowerMockito.whenNew; import static org.testng.AssertJUnit.assertSame; @PrepareForTest({OrganizationsService.class,JerseyRequest.class}) public class OrganizationsServiceTest extends PowerMockTestCase { @Mock private SessionStorage sessionStorageMock; @Mock private BatchOrganizationsAdapter batchOrganizationsAdapter; @Mock private SingleOrganizationAdapter singleOrganizationAdapter; @Mock private JerseyRequest<ClientTenant> jerseyRequestMock; @Mock private OperationResult<ClientTenant> operationResultMock; @BeforeMethod public void before() { initMocks(this); } @Test public void should_return_proper_instance_of_BatchOrganizationsAdapter() throws Exception { // Given whenNew(BatchOrganizationsAdapter.class).withArguments(sessionStorageMock).thenReturn(batchOrganizationsAdapter); OrganizationsService service = new OrganizationsService(sessionStorageMock); // When BatchOrganizationsAdapter retrieved = service.allOrganizations(); // Then assertSame(retrieved, batchOrganizationsAdapter); } @Test public void should_return_proper_instance_of_SingleOrganizationAdapter_by_organization_name() throws Exception { // Given ClientTenant clientTenant = new ClientTenant(); clientTenant.setId("orgId"); whenNew(SingleOrganizationAdapter.class).withArguments(sessionStorageMock, clientTenant).thenReturn(singleOrganizationAdapter); OrganizationsService service = new OrganizationsService(sessionStorageMock); // When SingleOrganizationAdapter retrieved = service.organization("orgId"); // Then assertSame(retrieved, singleOrganizationAdapter); } @Test public void should_return_proper_instance_of_SingleOrganizationAdapter_by_object() throws Exception { // Given ClientTenant clientTenant = new ClientTenant(); clientTenant.setId("orgId"); whenNew(SingleOrganizationAdapter.class).withArguments(sessionStorageMock, clientTenant).thenReturn(singleOrganizationAdapter); OrganizationsService service = new OrganizationsService(sessionStorageMock); // When SingleOrganizationAdapter retrieved = service.organization(clientTenant); // Then assertSame(retrieved, singleOrganizationAdapter); } @Test(expectedExceptions = IllegalArgumentException.class) public void should_throw_exception_when_organization_is_null() throws Exception { // Given OrganizationsService service = new OrganizationsService(sessionStorageMock); // When service.organization((ClientTenant) null); } @Test(expectedExceptions = IllegalArgumentException.class) public void should_throw_exception_when_organization_id_is_null() throws Exception { // Given OrganizationsService service = new OrganizationsService(sessionStorageMock); // When service.organization((String) null); } @Test(expectedExceptions = IllegalArgumentException.class) public void should_throw_exception_when_organization_id_is_empty() throws Exception { // Given OrganizationsService service = new OrganizationsService(sessionStorageMock); // When service.organization(""); } /** * Test should be deleted after deleting appropriate method * @deprecated Replaced by {@link OrganizationsServiceTest#should_return_proper_instance_of_BatchOrganizationsAdapter_deprecated}. */ @Test public void should_return_proper_instance_of_BatchOrganizationsAdapter_deprecated() throws Exception { // Given whenNew(BatchOrganizationsAdapter.class).withArguments(sessionStorageMock).thenReturn(batchOrganizationsAdapter); OrganizationsService service = new OrganizationsService(sessionStorageMock); // When BatchOrganizationsAdapter retrieved = service.organizations(); // Then assertSame(retrieved, batchOrganizationsAdapter); } @AfterMethod public void after() { reset(sessionStorageMock, batchOrganizationsAdapter,operationResultMock, jerseyRequestMock, singleOrganizationAdapter); } }