Skip to content

Commit facb699

Browse files
committed
SK-2259 Immutable skyflow client for V3
- Fixed some failing unit tests - Refactored more code into common - Added more unit tests for V3
1 parent df379b7 commit facb699

File tree

29 files changed

+313
-206
lines changed

29 files changed

+313
-206
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
.idea
22

3-
target
3+
target
4+
5+
**/dependency-reduced-pom.xml
6+
.env

common/src/main/java/com/skyflow/utils/BaseConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.skyflow.utils;
22

33
public class BaseConstants {
4-
public static final String SDK_NAME= "skyflow java";
5-
public static final String SDK_VERSION = "2.0.0";
4+
public static final String SDK_NAME= "Skyflow Java SDK ";
5+
public static final String SDK_VERSION = "1.0.0";
66
public static final String SDK_PREFIX = SDK_NAME + SDK_VERSION;
77
public static final String ORDER_ASCENDING = "ASCENDING";
88
public static final String ENV_CREDENTIALS_KEY_NAME = "SKYFLOW_CREDENTIALS";

common/src/main/java/com/skyflow/utils/BaseUtils.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.skyflow.utils;
22

3+
import com.google.gson.JsonObject;
34
import com.skyflow.config.Credentials;
45
import com.skyflow.enums.Env;
56
import com.skyflow.errors.ErrorCode;
67
import com.skyflow.errors.ErrorMessage;
78
import com.skyflow.errors.SkyflowException;
89
import com.skyflow.logs.ErrorLogs;
10+
import com.skyflow.logs.InfoLogs;
911
import com.skyflow.serviceaccount.util.BearerToken;
1012
import com.skyflow.utils.logger.LogUtil;
1113
import org.apache.commons.codec.binary.Base64;
@@ -95,6 +97,52 @@ public static String parameterizedString(String base, String... args) {
9597
return base;
9698
}
9799

100+
protected static JsonObject getCommonMetrics() {
101+
JsonObject details = new JsonObject();
102+
String deviceModel;
103+
String osDetails;
104+
String javaVersion;
105+
// Retrieve device model
106+
try {
107+
deviceModel = System.getProperty("os.name");
108+
if (deviceModel == null) throw new Exception();
109+
} catch (Exception e) {
110+
LogUtil.printInfoLog(parameterizedString(
111+
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
112+
BaseConstants.SDK_METRIC_CLIENT_DEVICE_MODEL
113+
));
114+
deviceModel = "";
115+
}
116+
117+
// Retrieve OS details
118+
try {
119+
osDetails = System.getProperty("os.version");
120+
if (osDetails == null) throw new Exception();
121+
} catch (Exception e) {
122+
LogUtil.printInfoLog(parameterizedString(
123+
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
124+
BaseConstants.SDK_METRIC_CLIENT_OS_DETAILS
125+
));
126+
osDetails = "";
127+
}
128+
129+
// Retrieve Java version details
130+
try {
131+
javaVersion = System.getProperty("java.version");
132+
if (javaVersion == null) throw new Exception();
133+
} catch (Exception e) {
134+
LogUtil.printInfoLog(parameterizedString(
135+
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
136+
BaseConstants.SDK_METRIC_RUNTIME_DETAILS
137+
));
138+
javaVersion = "";
139+
}
140+
details.addProperty(BaseConstants.SDK_METRIC_CLIENT_DEVICE_MODEL, deviceModel);
141+
details.addProperty(BaseConstants.SDK_METRIC_RUNTIME_DETAILS, BaseConstants.SDK_METRIC_RUNTIME_DETAILS_PREFIX + javaVersion);
142+
details.addProperty(BaseConstants.SDK_METRIC_CLIENT_OS_DETAILS, osDetails);
143+
return details;
144+
}
145+
98146
private static PrivateKey parsePkcs8PrivateKey(byte[] pkcs8Bytes) throws SkyflowException {
99147
KeyFactory keyFactory;
100148
PrivateKey privateKey = null;

common/src/main/java/com/skyflow/utils/logger/LogUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.skyflow.utils.logger;
22

3-
import com.skyflow.logs.InfoLogs;
4-
import com.skyflow.utils.BaseConstants;
53
import com.skyflow.enums.LogLevel;
4+
import com.skyflow.logs.InfoLogs;
5+
import com.skyflow.utils.SdkVersion;
66

77
import java.util.logging.*;
88

99
public final class LogUtil {
1010
private static final Logger LOGGER = Logger.getLogger(LogUtil.class.getName());
11-
private static final String SDK_LOG_PREFIX = "[" + BaseConstants.SDK_PREFIX + "] ";
11+
private static final String SDK_LOG_PREFIX = "[" + SdkVersion.getSdkPrefix() + "] ";
1212
private static boolean IS_LOGGER_SETUP_DONE = false;
1313

1414
synchronized public static void setupLogger(LogLevel logLevel) {

common/src/test/java/com/skyflow/serviceaccount/util/SignedDataTokensTests.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,15 @@ public void testEmptyCredentialsString() {
109109
try {
110110
SignedDataTokens signedTokens = SignedDataTokens.builder().setCredentials("").build();
111111
signedTokens.getSignedDataTokens();
112-
System.out.println("in try block");
113112
Assert.fail(EXCEPTION_NOT_THROWN);
114113
} catch (SkyflowException e) {
115-
System.out.println("caught skyflow exception");
116-
System.out.println(e);
117114
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
118115
Assert.assertEquals(
119116
BaseUtils.parameterizedString(ErrorMessage.InvalidCredentials.getMessage(), invalidJsonFilePath),
120117
e.getMessage()
121118
);
122119
} catch (Exception e) {
123-
System.out.println("catching exception");
124-
System.out.println(e);
120+
Assert.fail(e.getMessage());
125121
}
126122
}
127123

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.skyflow.utils;
2+
3+
import com.google.gson.JsonObject;
4+
import org.junit.Assert;
5+
import org.junit.Test;
6+
7+
public class BaseUtilsTests {
8+
private static final String INVALID_EXCEPTION_THROWN = "Should not have thrown any exception";
9+
private static final String EXCEPTION_NOT_THROWN = "Should have thrown an exception";
10+
11+
@Test
12+
public void testGetBaseMetrics() {
13+
try {
14+
JsonObject metrics = BaseUtils.getCommonMetrics();
15+
Assert.assertNotNull(metrics.get(BaseConstants.SDK_METRIC_RUNTIME_DETAILS).getAsString());
16+
Assert.assertNotNull(metrics.get(BaseConstants.SDK_METRIC_CLIENT_DEVICE_MODEL).getAsString());
17+
Assert.assertNotNull(metrics.get(BaseConstants.SDK_METRIC_CLIENT_OS_DETAILS).getAsString());
18+
} catch (Exception e) {
19+
Assert.fail(INVALID_EXCEPTION_THROWN);
20+
}
21+
}
22+
}

v2/src/main/java/com/skyflow/Skyflow.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import com.skyflow.errors.SkyflowException;
1111
import com.skyflow.logs.ErrorLogs;
1212
import com.skyflow.logs.InfoLogs;
13+
import com.skyflow.utils.Constants;
14+
import com.skyflow.utils.SdkVersion;
1315
import com.skyflow.utils.Utils;
1416
import com.skyflow.utils.logger.LogUtil;
1517
import com.skyflow.utils.validations.Validations;
@@ -29,6 +31,7 @@ private Skyflow(SkyflowClientBuilder builder) {
2931
}
3032

3133
public static SkyflowClientBuilder builder() {
34+
SdkVersion.setSdkPrefix(Constants.SDK_PREFIX);
3235
return new SkyflowClientBuilder();
3336
}
3437

v2/src/main/java/com/skyflow/utils/Utils.java

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
import com.google.gson.JsonObject;
44
import com.skyflow.config.ConnectionConfig;
5-
import com.skyflow.logs.InfoLogs;
6-
import com.skyflow.utils.logger.LogUtil;
75
import com.skyflow.vault.connection.InvokeConnectionRequest;
86

97
import java.util.HashMap;
@@ -46,50 +44,9 @@ public static Map<String, String> constructConnectionHeadersMap(Map<String, Stri
4644
}
4745

4846
public static JsonObject getMetrics() {
49-
JsonObject details = new JsonObject();
47+
JsonObject details = getCommonMetrics();
5048
String sdkVersion = Constants.SDK_VERSION;
51-
String deviceModel;
52-
String osDetails;
53-
String javaVersion;
54-
// Retrieve device model
55-
try {
56-
deviceModel = System.getProperty("os.name");
57-
if (deviceModel == null) throw new Exception();
58-
} catch (Exception e) {
59-
LogUtil.printInfoLog(parameterizedString(
60-
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
61-
Constants.SDK_METRIC_CLIENT_DEVICE_MODEL
62-
));
63-
deviceModel = "";
64-
}
65-
66-
// Retrieve OS details
67-
try {
68-
osDetails = System.getProperty("os.version");
69-
if (osDetails == null) throw new Exception();
70-
} catch (Exception e) {
71-
LogUtil.printInfoLog(parameterizedString(
72-
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
73-
Constants.SDK_METRIC_CLIENT_OS_DETAILS
74-
));
75-
osDetails = "";
76-
}
77-
78-
// Retrieve Java version details
79-
try {
80-
javaVersion = System.getProperty("java.version");
81-
if (javaVersion == null) throw new Exception();
82-
} catch (Exception e) {
83-
LogUtil.printInfoLog(parameterizedString(
84-
InfoLogs.UNABLE_TO_GENERATE_SDK_METRIC.getLog(),
85-
Constants.SDK_METRIC_RUNTIME_DETAILS
86-
));
87-
javaVersion = "";
88-
}
8949
details.addProperty(Constants.SDK_METRIC_NAME_VERSION, Constants.SDK_METRIC_NAME_VERSION_PREFIX + sdkVersion);
90-
details.addProperty(Constants.SDK_METRIC_CLIENT_DEVICE_MODEL, deviceModel);
91-
details.addProperty(Constants.SDK_METRIC_RUNTIME_DETAILS, Constants.SDK_METRIC_RUNTIME_DETAILS_PREFIX + javaVersion);
92-
details.addProperty(Constants.SDK_METRIC_CLIENT_OS_DETAILS, osDetails);
9350
return details;
9451
}
9552
}

v2/src/main/java/com/skyflow/utils/logger/LogUtil.java

Lines changed: 0 additions & 100 deletions
This file was deleted.

v2/test/java/com/skyflow/ConnectionClientTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.skyflow.config.ConnectionConfig;
44
import com.skyflow.config.Credentials;
5+
import com.skyflow.utils.Constants;
6+
import com.skyflow.utils.SdkVersion;
57
import io.github.cdimascio.dotenv.Dotenv;
68
import org.junit.Assert;
79
import org.junit.BeforeClass;
@@ -29,6 +31,7 @@ public static void setup() {
2931
connectionConfig.setConnectionId(connectionID);
3032
connectionConfig.setConnectionUrl(connectionURL);
3133
connectionClient = new ConnectionClient(connectionConfig, credentials);
34+
SdkVersion.setSdkPrefix(Constants.SDK_PREFIX);
3235
}
3336

3437
@Test

0 commit comments

Comments
 (0)