1 package com.atlassian.security.auth.trustedapps;
2
3 import com.atlassian.security.auth.trustedapps.request.TrustedRequest;
4
5 import org.junit.Test;
6
7 import static org.mockito.Mockito.mock;
8 import static org.mockito.Mockito.verify;
9 import static org.mockito.Mockito.when;
10
11
12
13
14 public class TestTrustedApplicationUtils
15 {
16 @Test
17 public void testAddRequestParameters()
18 {
19 final String id = "some id";
20 final String certificate = "some cert";
21 final String secretKey = "some secret key";
22 final String magic = "some magic number";
23
24 EncryptedCertificate mockEncryptedCertificate = mock(EncryptedCertificate.class);
25 TrustedRequest trustedRequest = mock(TrustedRequest.class);
26
27 when(mockEncryptedCertificate.getID()).thenReturn(id);
28 when(mockEncryptedCertificate.getCertificate()).thenReturn(certificate);
29 when(mockEncryptedCertificate.getSecretKey()).thenReturn(secretKey);
30 when(mockEncryptedCertificate.getMagicNumber()).thenReturn(magic);
31 when(mockEncryptedCertificate.getProtocolVersion()).thenReturn(Integer.valueOf(1));
32
33 TrustedApplicationUtils.addRequestParameters(mockEncryptedCertificate, trustedRequest);
34
35 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.ID, id);
36 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.CERTIFICATE, certificate);
37 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.SECRET_KEY, secretKey);
38 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.MAGIC, magic);
39 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.VERSION, TrustedApplicationUtils.Constant.VERSION.toString());
40 }
41
42 @Test
43 public void addRequestParametersIncludesSignature()
44 {
45 EncryptedCertificate mockEncryptedCertificate = mock(EncryptedCertificate.class);
46 TrustedRequest trustedRequest = mock(TrustedRequest.class);
47
48 when(mockEncryptedCertificate.getSignature()).thenReturn("base64-encoded-rsa-signature");
49
50 TrustedApplicationUtils.addRequestParameters(mockEncryptedCertificate, trustedRequest);
51
52 verify(trustedRequest).addRequestParameter(TrustedApplicationUtils.Header.Request.SIGNATURE, "base64-encoded-rsa-signature");
53 }
54 }