@Test void getProfileWithWallets() { KeycloakAuthenticationToken principal = new KeycloakAuthenticationToken(new KeycloakAccount() { @Override public Principal getPrincipal() { return () -> "davy"; } @Override public Set<String> getRoles() { return null; } }, true); UserRepresentation userRepresentation = new UserRepresentation(); when(keycloakRepository.getUser("davy")).thenReturn(userRepresentation); when(keycloakRepository.getAccessToken(principal, Provider.ARKANE)).thenReturn("token"); Wallet expectedWallet = WalletMother.aWallet(); when(keycloakRepository.getUserIdentities("davy")).thenReturn(Stream.of(UserIdentity.builder().provider(Provider.ARKANE).build())); WalletsResult walletsResult = new WalletsResult(); walletsResult.setResult(Collections.singletonList(expectedWallet)); when(arkaneRepository.getWallets("Bearer token")).thenReturn(walletsResult); UserProfile profile = profileService.getUserProfile(principal); assertThat(profile.getWallets()).containsExactly(expectedWallet); } }
@Test public void claim() { final RequestDto request = RequestDtoMother.freeCodeCampNoUserStories(); final UserClaimRequest userClaimRequest = createClaimRequest(request); final IssueInformationDto issueInformation = request.getIssueInformation(); final SignClaimCommand signClaimCommand = createSignClaimCommand(userClaimRequest, "davyvanroy"); final ClaimSignature claimSignature = createClaimSignature(signClaimCommand); when(keycloakRepository.getUserIdentities("davyvanroy")).thenReturn(Stream.of(UserIdentity.builder() .provider(Provider.GITHUB) .username("davyvanroy") .build())); when(githubScraper.fetchGithubIssue(issueInformation.getOwner(), issueInformation.getRepo(), issueInformation.getNumber())).thenReturn(GithubIssue.builder() .solver("davyvanroy") .status("Closed") .build()); when(azraelClient.getSignature(signClaimCommand)).thenReturn(claimSignature); SignedClaim result = claimResolver.getSignedClaim(() -> "davyvanroy", userClaimRequest, request); assertThat(result.getPlatform().toString()).isEqualTo(claimSignature.getPlatform()); assertThat(result.getPlatformId()).isEqualTo(claimSignature.getPlatformId()); assertThat(result.getSolver()).isEqualTo(claimSignature.getSolver()); assertThat(result.getSolverAddress()).isEqualTo(claimSignature.getAddress()); assertThat(result.getR()).isEqualTo(claimSignature.getR()); assertThat(result.getS()).isEqualTo(claimSignature.getS()); assertThat(result.getV()).isEqualTo(claimSignature.getV()); }
@Test public void canClaim() { final Principal principal = PrincipalMother.davyvanroy(); final RequestDto requestDto = RequestDtoMother.fundRequestArea51(); final IssueInformationDto issueInformation = requestDto.getIssueInformation(); when(githubScraper.fetchGithubIssue(issueInformation.getOwner(), issueInformation.getRepo(), issueInformation.getNumber())).thenReturn(GithubIssue.builder() .solver("davyvanroy") .status("Closed") .build()); when(keycloakRepository.getUserIdentities(principal.getName())).thenReturn(Stream.of(UserIdentity.builder().provider(Provider.GITHUB).username("davyvanroy").build())); assertThat(claimResolver.canClaim(principal, requestDto)).isTrue(); }
public static UserDto davy() { UserDto userDto = new UserDto(); userDto.setEmail("davy@fundrequest.io"); userDto.setUserId("12347468fas738"); userDto.setUserIdentities(Collections.singletonList(UserIdentity.builder() .provider(Provider.GITHUB) .userId(userDto.getUserId()) .username("davyvanroy") .build())); return userDto; } }
@Test public void canClaim_differentUser() { final Principal principal = PrincipalMother.davyvanroy(); final RequestDto requestDto = RequestDtoMother.fundRequestArea51(); final IssueInformationDto issueInformation = requestDto.getIssueInformation(); when(githubScraper.fetchGithubIssue(issueInformation.getOwner(), issueInformation.getRepo(), issueInformation.getNumber())).thenReturn(GithubIssue.builder() .solver("dfgj") .status("Closed") .build()); when(keycloakRepository.getUserIdentities(principal.getName())).thenReturn(Stream.of(UserIdentity.builder().provider(Provider.GITHUB).username("davyvanroy").build())); assertThat(claimResolver.canClaim(principal, requestDto)).isFalse(); }