Skip to content

Commit d828aac

Browse files
SK-2505: increase tests coverage
1 parent 9aa9d68 commit d828aac

File tree

3 files changed

+346
-1
lines changed

3 files changed

+346
-1
lines changed

src/main/java/com/skyflow/serviceaccount/util/SignedDataTokens.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.skyflow.errors.SkyflowException;
1010
import com.skyflow.logs.ErrorLogs;
1111
import com.skyflow.logs.InfoLogs;
12-
import com.skyflow.serviceaccount.util.SignedDataTokens.SignedDataTokensBuilder;
1312
import com.skyflow.utils.Utils;
1413
import com.skyflow.utils.logger.LogUtil;
1514
import io.jsonwebtoken.Jwts;

src/test/java/com/skyflow/serviceaccount/util/BearerTokenTests.java

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -567,4 +567,142 @@ public void testBearerTokenFinalTokenUriSelection() {
567567
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
568568
}
569569
}
570+
571+
@Test
572+
public void testGetBearerTokenFromCredentialsFilePathCovered() {
573+
574+
String filePath = "./src/test/resources/validCredentials.json";
575+
File file = new File(filePath);
576+
try {
577+
BearerToken bearerToken = BearerToken.builder()
578+
.setCredentials(file)
579+
.setCtx(context)
580+
.setRoles(roles)
581+
.build();
582+
bearerToken.getBearerToken();
583+
Assert.fail(EXCEPTION_NOT_THROWN);
584+
} catch (SkyflowException e) {
585+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
586+
}
587+
}
588+
589+
@Test
590+
public void testGetBearerTokenFromCredentialsFilePathWithOverrideTokenUri() {
591+
String filePath = "./src/test/resources/validCredentials.json";
592+
File file = new File(filePath);
593+
try {
594+
BearerToken bearerToken = BearerToken.builder()
595+
.setCredentials(file)
596+
.setCtx(context)
597+
.setRoles(roles)
598+
.setTokenUri("https://override-uri.com/token")
599+
.build();
600+
bearerToken.getBearerToken();
601+
Assert.fail(EXCEPTION_NOT_THROWN);
602+
} catch (SkyflowException e) {
603+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
604+
}
605+
}
606+
607+
@Test
608+
public void testGetBearerTokenFromCredentialsStringPathCovered() {
609+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
610+
try {
611+
BearerToken bearerToken = BearerToken.builder()
612+
.setCredentials(mockCredentialsJson)
613+
.setCtx(context)
614+
.setRoles(roles)
615+
.build();
616+
bearerToken.getBearerToken();
617+
Assert.fail(EXCEPTION_NOT_THROWN);
618+
} catch (SkyflowException e) {
619+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
620+
}
621+
}
622+
623+
@Test
624+
public void testGetBearerTokenFromCredentialsStringPathWithOverrideTokenUri() {
625+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
626+
try {
627+
BearerToken bearerToken = BearerToken.builder()
628+
.setCredentials(mockCredentialsJson)
629+
.setCtx(context)
630+
.setRoles(roles)
631+
.setTokenUri("https://override-uri.com/token")
632+
.build();
633+
bearerToken.getBearerToken();
634+
Assert.fail(EXCEPTION_NOT_THROWN);
635+
} catch (SkyflowException e) {
636+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
637+
}
638+
}
639+
640+
@Test
641+
public void testGetBearerTokenWithApiClientInitialization() {
642+
643+
String filePath = "./src/test/resources/validCredentials.json";
644+
File file = new File(filePath);
645+
try {
646+
BearerToken bearerToken = BearerToken.builder()
647+
.setCredentials(file)
648+
.setCtx(context)
649+
.setRoles(roles)
650+
.build();
651+
bearerToken.getBearerToken();
652+
Assert.fail(EXCEPTION_NOT_THROWN);
653+
} catch (SkyflowException e) {
654+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
655+
}
656+
}
657+
658+
@Test
659+
public void testGetBearerTokenWithApiClientInitializationAndOverrideTokenUri() {
660+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
661+
try {
662+
BearerToken bearerToken = BearerToken.builder()
663+
.setCredentials(mockCredentialsJson)
664+
.setCtx(context)
665+
.setRoles(roles)
666+
.setTokenUri("https://override-uri.com/token")
667+
.build();
668+
bearerToken.getBearerToken();
669+
Assert.fail(EXCEPTION_NOT_THROWN);
670+
} catch (SkyflowException e) {
671+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
672+
}
673+
}
674+
675+
@Test
676+
public void testGetBearerTokenApiClientWithRoles() {
677+
String filePath = "./src/test/resources/validCredentials.json";
678+
File file = new File(filePath);
679+
try {
680+
roles.add("admin");
681+
BearerToken bearerToken = BearerToken.builder()
682+
.setCredentials(file)
683+
.setCtx(context)
684+
.setRoles(roles)
685+
.build();
686+
bearerToken.getBearerToken();
687+
Assert.fail(EXCEPTION_NOT_THROWN);
688+
} catch (SkyflowException e) {
689+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
690+
}
691+
}
692+
693+
@Test
694+
public void testGetBearerTokenApiClientWithoutRoles() {
695+
String filePath = "./src/test/resources/validCredentials.json";
696+
File file = new File(filePath);
697+
try {
698+
BearerToken bearerToken = BearerToken.builder()
699+
.setCredentials(file)
700+
.setCtx(context)
701+
.build();
702+
bearerToken.getBearerToken();
703+
Assert.fail(EXCEPTION_NOT_THROWN);
704+
} catch (SkyflowException e) {
705+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
706+
}
707+
}
570708
}

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

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,4 +398,212 @@ public void testSignedDataTokensBuilderWithMultipleTokenUriCalls() {
398398
Assert.fail(INVALID_EXCEPTION_THROWN);
399399
}
400400
}
401+
402+
private static final String MOCK_PRIVATE_KEY = "mock-private-key";
403+
private static final String MOCK_CLIENT_ID = "test_client_id";
404+
private static final String MOCK_KEY_ID = "test_key_id";
405+
private static final String MOCK_TOKEN_URI = "https://example.com/token";
406+
407+
private static String createMockCredentialsJson(String privateKey, String clientId, String keyId, String tokenUri) {
408+
StringBuilder json = new StringBuilder("{");
409+
json.append("\"privateKey\": \"").append(privateKey).append("\",");
410+
json.append("\"clientID\": \"").append(clientId).append("\",");
411+
json.append("\"keyID\": \"").append(keyId).append("\"");
412+
if (tokenUri != null) {
413+
json.append(",\"tokenURI\": \"").append(tokenUri).append("\"");
414+
}
415+
json.append("}");
416+
return json.toString();
417+
}
418+
419+
@Test
420+
public void testGetSignedDataTokensFromCredentialsFilePathCovered() {
421+
String filePath = "./src/test/resources/validCredentials.json";
422+
File file = new File(filePath);
423+
try {
424+
dataTokens.add(dataToken);
425+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
426+
.setCredentials(file)
427+
.setCtx(context)
428+
.setDataTokens(dataTokens)
429+
.setTimeToLive(ttl)
430+
.build();
431+
signedDataTokens.getSignedDataTokens();
432+
Assert.fail(EXCEPTION_NOT_THROWN);
433+
} catch (SkyflowException e) {
434+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
435+
}
436+
}
437+
438+
@Test
439+
public void testGetSignedDataTokensFromCredentialsFilePathWithOverrideTokenUri() {
440+
String filePath = "./src/test/resources/validCredentials.json";
441+
File file = new File(filePath);
442+
try {
443+
dataTokens.add(dataToken);
444+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
445+
.setCredentials(file)
446+
.setCtx(context)
447+
.setDataTokens(dataTokens)
448+
.setTimeToLive(ttl)
449+
.setTokenUri("https://override-uri.com/token")
450+
.build();
451+
signedDataTokens.getSignedDataTokens();
452+
Assert.fail(EXCEPTION_NOT_THROWN);
453+
} catch (SkyflowException e) {
454+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
455+
}
456+
}
457+
458+
@Test
459+
public void testGetSignedDataTokensFromCredentialsStringPathCovered() {
460+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
461+
try {
462+
dataTokens.add(dataToken);
463+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
464+
.setCredentials(mockCredentialsJson)
465+
.setCtx(context)
466+
.setDataTokens(dataTokens)
467+
.setTimeToLive(ttl)
468+
.build();
469+
signedDataTokens.getSignedDataTokens();
470+
Assert.fail(EXCEPTION_NOT_THROWN);
471+
} catch (SkyflowException e) {
472+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
473+
}
474+
}
475+
476+
@Test
477+
public void testGetSignedDataTokensFromCredentialsStringPathWithOverrideTokenUri() {
478+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
479+
try {
480+
dataTokens.add(dataToken);
481+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
482+
.setCredentials(mockCredentialsJson)
483+
.setCtx(context)
484+
.setDataTokens(dataTokens)
485+
.setTimeToLive(ttl)
486+
.setTokenUri("https://override-uri.com/token")
487+
.build();
488+
signedDataTokens.getSignedDataTokens();
489+
Assert.fail(EXCEPTION_NOT_THROWN);
490+
} catch (SkyflowException e) {
491+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
492+
}
493+
}
494+
495+
@Test
496+
public void testGenerateSignedTokenFromCredentialsFileWithOverrideTokenUri() {
497+
String filePath = "./src/test/resources/validCredentials.json";
498+
File file = new File(filePath);
499+
try {
500+
dataTokens.add(dataToken);
501+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
502+
.setCredentials(file)
503+
.setCtx(context)
504+
.setDataTokens(dataTokens)
505+
.setTimeToLive(ttl)
506+
.setTokenUri("https://override-uri.com/token")
507+
.build();
508+
signedDataTokens.getSignedDataTokens();
509+
Assert.fail(EXCEPTION_NOT_THROWN);
510+
} catch (SkyflowException e) {
511+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
512+
}
513+
}
514+
515+
@Test
516+
public void testGenerateSignedTokenFromCredentialsFileWithoutOverrideTokenUri() {
517+
String filePath = "./src/test/resources/validCredentials.json";
518+
File file = new File(filePath);
519+
try {
520+
dataTokens.add(dataToken);
521+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
522+
.setCredentials(file)
523+
.setCtx(context)
524+
.setDataTokens(dataTokens)
525+
.setTimeToLive(ttl)
526+
.build();
527+
signedDataTokens.getSignedDataTokens();
528+
Assert.fail(EXCEPTION_NOT_THROWN);
529+
} catch (SkyflowException e) {
530+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
531+
}
532+
}
533+
534+
@Test
535+
public void testGenerateSignedTokenFromCredentialsStringWithOverrideTokenUri() {
536+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
537+
try {
538+
dataTokens.add(dataToken);
539+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
540+
.setCredentials(mockCredentialsJson)
541+
.setCtx(context)
542+
.setDataTokens(dataTokens)
543+
.setTimeToLive(ttl)
544+
.setTokenUri("https://override-uri.com/token")
545+
.build();
546+
signedDataTokens.getSignedDataTokens();
547+
Assert.fail(EXCEPTION_NOT_THROWN);
548+
} catch (SkyflowException e) {
549+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
550+
}
551+
}
552+
553+
@Test
554+
public void testGenerateSignedTokenFromCredentialsStringWithoutOverrideTokenUri() {
555+
String mockCredentialsJson = createMockCredentialsJson(MOCK_PRIVATE_KEY, MOCK_CLIENT_ID, MOCK_KEY_ID, MOCK_TOKEN_URI);
556+
try {
557+
dataTokens.add(dataToken);
558+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
559+
.setCredentials(mockCredentialsJson)
560+
.setCtx(context)
561+
.setDataTokens(dataTokens)
562+
.setTimeToLive(ttl)
563+
.build();
564+
signedDataTokens.getSignedDataTokens();
565+
Assert.fail(EXCEPTION_NOT_THROWN);
566+
} catch (SkyflowException e) {
567+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
568+
}
569+
}
570+
571+
@Test
572+
public void testGetSignedTokenWithPrivateKeyAndOverrideTokenUri() {
573+
String filePath = "./src/test/resources/validCredentials.json";
574+
File file = new File(filePath);
575+
try {
576+
dataTokens.add(dataToken);
577+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
578+
.setCredentials(file)
579+
.setCtx(context)
580+
.setDataTokens(dataTokens)
581+
.setTimeToLive(ttl)
582+
.setTokenUri("https://override-uri.com/token")
583+
.build();
584+
signedDataTokens.getSignedDataTokens();
585+
Assert.fail(EXCEPTION_NOT_THROWN);
586+
} catch (SkyflowException e) {
587+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
588+
}
589+
}
590+
591+
@Test
592+
public void testGetSignedTokenWithPrivateKeyWithoutOverrideTokenUri() {
593+
String filePath = "./src/test/resources/validCredentials.json";
594+
File file = new File(filePath);
595+
try {
596+
dataTokens.add(dataToken);
597+
SignedDataTokens signedDataTokens = SignedDataTokens.builder()
598+
.setCredentials(file)
599+
.setCtx(context)
600+
.setDataTokens(dataTokens)
601+
.setTimeToLive(ttl)
602+
.build();
603+
signedDataTokens.getSignedDataTokens();
604+
Assert.fail(EXCEPTION_NOT_THROWN);
605+
} catch (SkyflowException e) {
606+
Assert.assertEquals(ErrorCode.INVALID_INPUT.getCode(), e.getHttpCode());
607+
}
608+
}
401609
}

0 commit comments

Comments
 (0)