diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 23d629f3..a7c4dda3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,13 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4 - name: Set up Java JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4 with: java-version: 8 - distribution: 'adopt' + distribution: 'temurin' - name: Install dependencies run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V -Dgpg.skip @@ -30,7 +30,7 @@ jobs: run: mvn -B test - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4 with: fail_ci_if_error: false verbose: true @@ -40,12 +40,12 @@ jobs: needs: test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4 - name: Set up Maven Central Repository - uses: actions/setup-java@v2 + uses: actions/setup-java@8df103950f1a284ea214c9acc06196fd9f766f2a # v4 with: java-version: 8 - distribution: 'adopt' + distribution: 'temurin' server-id: ossrh server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD diff --git a/pom.xml b/pom.xml index 94240c6f..5d880030 100644 --- a/pom.xml +++ b/pom.xml @@ -54,17 +54,11 @@ org.mockito mockito-inline - 2.13.0 - test - - - org.json - json + 4.11.0 test - com.squareup.okhttp3 okhttp @@ -100,11 +94,11 @@ ossrh - https://oss.sonatype.org/content/repositories/releases/ + https://oss.sonatype.org/content/repositories/snapshots/ ossrh - https://oss.sonatype.org/service/local/repositories/releases/content/ + https://oss.sonatype.org/service/local/staging/deploy/maven2/ @@ -121,7 +115,7 @@ org.sonatype.plugins nexus-staging-maven-plugin - 1.6.9 + 1.7.0 true ossrh @@ -132,7 +126,7 @@ org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.3.1 attach-sources @@ -145,7 +139,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.0.1 + 3.8.0 attach-javadocs @@ -158,7 +152,7 @@ org.jacoco jacoco-maven-plugin - 0.8.7 + 0.8.11 com/razorpay/**/EntityNameURLMapping.class @@ -186,7 +180,7 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 + 3.2.7 sign-artifacts @@ -204,6 +198,16 @@ + + org.apache.maven.plugins + maven-surefire-plugin + 3.2.5 + + + -XX:+EnableDynamicAgentLoading -Dnet.bytebuddy.experimental=true @{argLine} + + + diff --git a/src/main/java/com/razorpay/ApiClient.java b/src/main/java/com/razorpay/ApiClient.java index b9697087..5d970b4a 100755 --- a/src/main/java/com/razorpay/ApiClient.java +++ b/src/main/java/com/razorpay/ApiClient.java @@ -121,6 +121,9 @@ else if(response.code()==204){ private T parseResponse(JSONObject jsonObject, String entity) throws RazorpayException { if (entity != null) { Class cls = getClass(entity); + if (cls == null) { + throw new RazorpayException("Unable to find class for entity: " + entity); + } try { return cls.getConstructor(JSONObject.class).newInstance(jsonObject); } catch (Exception e) { @@ -247,7 +250,7 @@ private void throwServerException(int statusCode, String responseBody) throws Ra private Class getClass(String entity) { try { - String entityClass = "com.razorpay." + WordUtils.capitalize(entity, '_').replaceAll("_", ""); + String entityClass = getClass().getPackage().getName() + "." + WordUtils.capitalize(entity, '_').replaceAll("_", ""); return Class.forName(entityClass); } catch (ClassNotFoundException e) { return null; diff --git a/src/test/java/com/razorpay/BaseTest.java b/src/test/java/com/razorpay/BaseTest.java index fde9918f..1f8ce102 100644 --- a/src/test/java/com/razorpay/BaseTest.java +++ b/src/test/java/com/razorpay/BaseTest.java @@ -16,7 +16,7 @@ import java.util.Map; import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.anyObject; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -30,7 +30,7 @@ public class BaseTest { @Before public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); + MockitoAnnotations.openMocks(this); mockGetCall(); mockURL(Collections.emptyList()); } @@ -44,7 +44,7 @@ private void mockGetCall() throws IOException, IllegalAccessException { Call call = mock(Call.class); when(call.execute()).thenReturn(mockedResponse); - when(okHttpClient.newCall(anyObject())).thenReturn(call); + when(okHttpClient.newCall(any())).thenReturn(call); }