diff --git a/pom.xml b/pom.xml index 4f0b4449..849f03d0 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.testdroid testdroid-api - 3.13 + 3.14 jar Bitbar API v2 https://github.com/bitbar/testdroid-api diff --git a/src/main/java/com/testdroid/api/APIList.java b/src/main/java/com/testdroid/api/APIList.java index fdc071b3..67f9c9a9 100644 --- a/src/main/java/com/testdroid/api/APIList.java +++ b/src/main/java/com/testdroid/api/APIList.java @@ -47,23 +47,19 @@ public APIList() { } public APIList(String requestURL, List data, Integer total, Context ctx) { - int offset = ctx.getOffset(); - int limit = ctx.getLimit(); - String search = ctx.getSearch(); - String sort = ctx.getSort().serialize(); this.total = total; - this.offset = offset; - this.limit = limit; - this.search = search; - this.sort = sort; + this.offset = ctx.getOffset(); + this.limit = ctx.getLimit(); + this.search = ctx.getSearch(); + this.sort = ctx.getSort().serialize(); this.data = data; this.context = ctx; String filter = filterParam(ctx.getFilters()); if (offset + limit < total) { - this.next = getListURL(requestURL, offset + limit, limit, search, sort, filter); + this.next = getListURL(requestURL, offset.longValue() + limit, limit, search, sort, filter); } if (offset - limit >= 0) { - this.previous = getListURL(requestURL, offset - limit, limit, search, sort, filter); + this.previous = getListURL(requestURL, offset.longValue() - limit, limit, search, sort, filter); } } diff --git a/src/main/java/com/testdroid/api/AbstractAPIClient.java b/src/main/java/com/testdroid/api/AbstractAPIClient.java index 2eb8ac48..ded83ba9 100644 --- a/src/main/java/com/testdroid/api/AbstractAPIClient.java +++ b/src/main/java/com/testdroid/api/AbstractAPIClient.java @@ -231,8 +231,7 @@ protected T postOnce( } catch (HttpResponseException ex) { throw getAPIException(ex); } catch (IOException ex) { - throw new APIException(String - .format("Failed to execute API call: %s. Reason: %s", uri, ex.getMessage()), ex); + throw new APIException(String.format(FAILED_TO_EXECUTE_API_CALL_WITH_REASON, uri, ex.getMessage()), ex); } finally { disconnectQuietly(response); } @@ -272,8 +271,7 @@ protected void deleteOnce(String uri) throws APIException { } catch (HttpResponseException ex) { throw getAPIException(ex); } catch (IOException ex) { - throw new APIException(String - .format("Failed to execute API call: %s. Reason: %s", uri, ex.getMessage()), ex); + throw new APIException(String.format(FAILED_TO_EXECUTE_API_CALL_WITH_REASON, uri, ex.getMessage()), ex); } finally { disconnectQuietly(response); } diff --git a/src/main/java/com/testdroid/api/DefaultAPIClient.java b/src/main/java/com/testdroid/api/DefaultAPIClient.java index 8bbaf39c..28c66fa1 100644 --- a/src/main/java/com/testdroid/api/DefaultAPIClient.java +++ b/src/main/java/com/testdroid/api/DefaultAPIClient.java @@ -41,7 +41,7 @@ */ public class DefaultAPIClient extends AbstractAPIClient { - private static final Logger LOGGER = LoggerFactory.getLogger(APIKeyClient.class); + private static final Logger LOGGER = LoggerFactory.getLogger(DefaultAPIClient.class); public static final int HTTP_CONNECT_TIMEOUT = 60000; diff --git a/src/main/java/com/testdroid/api/dto/Type.java b/src/main/java/com/testdroid/api/dto/Type.java deleted file mode 100644 index 885e34ab..00000000 --- a/src/main/java/com/testdroid/api/dto/Type.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.testdroid.api.dto; - -/** - * Enum represents type of argument to parsing - *
    - *
  • N stands for Number type - *
  • D stands for Date type - *
  • S stands for String type - *
  • B stands for Boolean type - *
  • LN stands for List type - *
  • LD stands for List type - *
  • LS stands for List type - *
  • LB stands for List type - *
- * - * @author Damian Sniezek - */ -public enum Type { - N, - D, - S, - B, - LN, - LD, - LS, - LB -} diff --git a/src/main/java/com/testdroid/api/model/APIAccountService.java b/src/main/java/com/testdroid/api/model/APIAccountService.java index 80531c3a..8ba170cc 100644 --- a/src/main/java/com/testdroid/api/model/APIAccountService.java +++ b/src/main/java/com/testdroid/api/model/APIAccountService.java @@ -335,7 +335,7 @@ public Integer getPayUnitCount() { @JsonIgnore public String getVatPriceString() { - float vatPrice = (getPrice() * getVatRate()) / 100; + float vatPrice = (getPrice() * getVatRate()) / 100f; return String.format(Locale.ENGLISH, "%.2f", vatPrice / 100); } @@ -346,7 +346,7 @@ public String getNetPriceString() { @JsonIgnore public String getTotalPriceString() { - float totalPrice = (getPrice() * (100 + getVatRate())) / 100; + float totalPrice = (getPrice() * (100 + getVatRate())) / 100f; return String.format(Locale.ENGLISH, "%.2f", totalPrice / 100); } diff --git a/src/main/java/com/testdroid/cloud/test/categories/TestTags.java b/src/main/java/com/testdroid/cloud/test/categories/TestTags.java index 86d9e997..eba5fa8f 100644 --- a/src/main/java/com/testdroid/cloud/test/categories/TestTags.java +++ b/src/main/java/com/testdroid/cloud/test/categories/TestTags.java @@ -3,15 +3,19 @@ /** * @author Krzysztof FonaƂ */ -public interface TestTags { +public class TestTags { - String UNIT = "unit"; + private TestTags() { + throw new IllegalStateException("Utility class"); + } - String API = "api"; + public static final String UNIT = "unit"; - String INTEGRATION = "integration"; + public static final String API = "api"; - String API_CLIENT = "api_client"; + public static final String INTEGRATION = "integration"; - String PORT_FORWARDER_CLIENT = "port_forwarder_client"; + public static final String API_CLIENT = "api_client"; + + public static final String PORT_FORWARDER_CLIENT = "port_forwarder_client"; } diff --git a/src/test/java/com/testdroid/api/APIClientTest.java b/src/test/java/com/testdroid/api/APIClientTest.java index 6878918f..5baaedfa 100644 --- a/src/test/java/com/testdroid/api/APIClientTest.java +++ b/src/test/java/com/testdroid/api/APIClientTest.java @@ -22,8 +22,9 @@ class APIClientTest extends BaseAPIClientTest { @ArgumentsSource(APIClientProvider.class) void td12086(APIClient apiClient) throws APIException { APIUser user = apiClient.me(); - Exception exception = assertThrows(APIException.class, () -> - user.getResource(user.selfURI + "/notifications/channels/SLACK+/scopes", APIEnum.class).getEntity()); + APIResource resource = user.getResource(user.selfURI + "/notifications/channels/SLACK+/scopes", + APIEnum.class); + Exception exception = assertThrows(APIException.class, resource::getEntity); assertThat(exception.getMessage()).isEqualTo("Invalid Notification Channel: SLACK+"); } diff --git a/src/test/java/com/testdroid/api/APIDeviceGroupClientTest.java b/src/test/java/com/testdroid/api/APIDeviceGroupClientTest.java index 2052fe4d..04609057 100644 --- a/src/test/java/com/testdroid/api/APIDeviceGroupClientTest.java +++ b/src/test/java/com/testdroid/api/APIDeviceGroupClientTest.java @@ -50,12 +50,13 @@ void addDeviceTest(APIClient apiClient) throws APIException { void addSelectorTest(APIClient apiClient) throws APIException { APIList labelGroups = apiClient.getLabelGroups(new Context<>(APILabelGroup.class) .addFilter(new FilterEntry(DISPLAY_NAME, EQ, "Device groups"))).getEntity(); - APILabelGroup deviceGroupLabelGroup = labelGroups.getData().stream().findFirst().get(); + APILabelGroup deviceGroupLabelGroup = labelGroups.getData().stream().findFirst().orElseThrow(APIException::new); APIList apiDeviceProperties = deviceGroupLabelGroup.getDevicePropertiesResource(new Context<>(APIDeviceProperty.class) .addFilter(new FilterEntry(DISPLAY_NAME, EQ, "Android devices"))) .getEntity(); - APIDeviceProperty androidDevicesLabel = apiDeviceProperties.getData().stream().findFirst().get(); + APIDeviceProperty androidDevicesLabel = apiDeviceProperties.getData().stream().findFirst() + .orElseThrow(APIException::new); APIDeviceGroup dynamicAndroidDeviceGroup = apiClient.me() .createDeviceGroup("dynamicAndroidDeviceGroup", ANDROID); dynamicAndroidDeviceGroup = dynamicAndroidDeviceGroup.addSelector(androidDevicesLabel); diff --git a/src/test/java/com/testdroid/api/APIProjectAPIClientTest.java b/src/test/java/com/testdroid/api/APIProjectAPIClientTest.java index 068186ff..25614600 100644 --- a/src/test/java/com/testdroid/api/APIProjectAPIClientTest.java +++ b/src/test/java/com/testdroid/api/APIProjectAPIClientTest.java @@ -1,6 +1,7 @@ package com.testdroid.api; import com.testdroid.api.model.APIProject; +import com.testdroid.api.model.APIUser; import org.junit.jupiter.api.Tag; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ArgumentsSource; @@ -38,11 +39,10 @@ void updateProjectTest(APIClient apiClient) throws APIException { @ParameterizedTest @ArgumentsSource(BaseAPIClientTest.APIClientProvider.class) void deleteProjectTest(APIClient apiClient) throws APIException { - APIProject project = apiClient.me().createProject(generateUnique("testProject")); + APIUser me = apiClient.me(); + APIProject project = me.createProject(generateUnique("testProject")); project.delete(); - assertThatThrownBy(() -> - apiClient.me().getProject(project.getId())) - .isInstanceOf(APIException.class) + assertThatThrownBy(() -> me.getProject(project.getId())).isInstanceOf(APIException.class) .hasMessageContaining(String.format("Project with id %d does not exist", project.getId())); } } diff --git a/src/test/java/com/testdroid/api/BaseAPIClientTest.java b/src/test/java/com/testdroid/api/BaseAPIClientTest.java index ac6591d6..1a87da27 100644 --- a/src/test/java/com/testdroid/api/BaseAPIClientTest.java +++ b/src/test/java/com/testdroid/api/BaseAPIClientTest.java @@ -101,7 +101,7 @@ APIFramework getApiFramework(APIClient apiClient, String frameworkNameLike) thro protected static APIUser create(APIKeyClient adminApiClient) throws APIException { Map map = new HashMap<>(); - map.put(EMAIL, generateUniqueEmail(EMAIL_PATTERN)); + map.put(EMAIL, generateUniqueEmail()); APIUser userForTest = adminApiClient.post("/admin/users", map, APIUser.class); map.clear(); map.put(EMAIL, userForTest.getEmail()); @@ -111,8 +111,8 @@ protected static APIUser create(APIKeyClient adminApiClient) throws APIException return userForTest; } - private static String generateUniqueEmail(String emailPattern) { - return String.format(emailPattern, System.currentTimeMillis()); + private static String generateUniqueEmail() { + return String.format(EMAIL_PATTERN, System.currentTimeMillis()); } static String generateUnique(String prefix) { @@ -126,6 +126,7 @@ static DefaultAPIClient createDefaultApiClientWithProxy(HttpHost proxy) throws A } static File loadFile(String name) { - return new File(BaseAPIClientTest.class.getResource(name).getFile()); + java.net.URL url = BaseAPIClientTest.class.getResource(name); + return new File(Objects.requireNonNull(url).getFile()); } }