Update AwsCodeCommitCredentialsProviderTests.java
This commit is contained in:
@@ -44,74 +44,74 @@ import static org.junit.Assert.fail;
|
||||
*
|
||||
*/
|
||||
public class AwsCodeCommitCredentialsProviderTests {
|
||||
private static final String PASSWORD = "secret";
|
||||
private static final String USER = "test";
|
||||
private static final String AWS_REPO = "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/test";
|
||||
private static final String BAD_REPO = "https://amazonaws.com/v1/repos/test";
|
||||
private static final String PASSWORD = "secret";
|
||||
private static final String USER = "test";
|
||||
private static final String AWS_REPO = "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/test";
|
||||
private static final String BAD_REPO = "https://amazonaws.com/v1/repos/test";
|
||||
private static final String CURLY_BRACES_REPO = "https://git-codecommit.us-east-1.amazonaws.com/v1/repos/{application}";
|
||||
|
||||
private AwsCodeCommitCredentialProvider provider;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory();
|
||||
provider = (AwsCodeCommitCredentialProvider)
|
||||
factory.createFor(AWS_REPO, USER, PASSWORD, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void basics() {
|
||||
assertNotNull(provider);
|
||||
assertEquals(USER, provider.getUsername());
|
||||
assertEquals(PASSWORD, provider.getPassword());
|
||||
assertFalse(provider.isInteractive());
|
||||
}
|
||||
private AwsCodeCommitCredentialProvider provider;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory();
|
||||
provider = (AwsCodeCommitCredentialProvider)
|
||||
factory.createFor(AWS_REPO, USER, PASSWORD, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void basics() {
|
||||
assertNotNull(provider);
|
||||
assertEquals(USER, provider.getUsername());
|
||||
assertEquals(PASSWORD, provider.getPassword());
|
||||
assertFalse(provider.isInteractive());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSupportsUsernamePassword() {
|
||||
assertTrue(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.Username(),
|
||||
new CredentialItem.Password()
|
||||
}));
|
||||
}
|
||||
@Test
|
||||
public void testSupportsUsernamePassword() {
|
||||
assertTrue(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.Username(),
|
||||
new CredentialItem.Password()
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNotSupportsOther() {
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.YesNoType("OK To Login?") // this is not ok
|
||||
}));
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.StringType("OK To Login?", true) // this is not ok
|
||||
}));
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.Username(), // this is ok
|
||||
new CredentialItem.Password(), // this is ok
|
||||
new CredentialItem.StringType("OK To Login?", true) // this is not ok
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAwsCredentialsProviderIsNullInitially() {
|
||||
AWSCredentialsProvider awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNull(awsProvider);
|
||||
}
|
||||
@Test
|
||||
public void testNotSupportsOther() {
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.YesNoType("OK To Login?") // this is not ok
|
||||
}));
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.StringType("OK To Login?", true) // this is not ok
|
||||
}));
|
||||
assertFalse(provider.supports(new CredentialItem[] {
|
||||
new CredentialItem.Username(), // this is ok
|
||||
new CredentialItem.Password(), // this is ok
|
||||
new CredentialItem.StringType("OK To Login?", true) // this is not ok
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAwsCredentialsProviderIsNullInitially() {
|
||||
AWSCredentialsProvider awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNull(awsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAwsCredentialsProviderIsDefinedAfterGet() throws URISyntaxException {
|
||||
AWSCredentialsProvider awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNull(awsProvider);
|
||||
assertTrue(provider.get(new URIish(AWS_REPO), makeCredentialItems()));
|
||||
awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNotNull(awsProvider);
|
||||
assertTrue(awsProvider instanceof AwsCodeCommitCredentialProvider.AWSStaticCredentialsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBadUriReturnsFalse() throws UnsupportedCredentialItem, URISyntaxException {
|
||||
CredentialItem[] credentialItems = makeCredentialItems();
|
||||
assertFalse(provider.get(new URIish(BAD_REPO), credentialItems));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAwsCredentialsProviderIsDefinedAfterGet() throws URISyntaxException {
|
||||
AWSCredentialsProvider awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNull(awsProvider);
|
||||
assertTrue(provider.get(new URIish(AWS_REPO), makeCredentialItems()));
|
||||
awsProvider = provider.getAwsCredentialProvider();
|
||||
assertNotNull(awsProvider);
|
||||
assertTrue(awsProvider instanceof AwsCodeCommitCredentialProvider.AWSStaticCredentialsProvider);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBadUriReturnsFalse() throws UnsupportedCredentialItem, URISyntaxException {
|
||||
CredentialItem[] credentialItems = makeCredentialItems();
|
||||
assertFalse(provider.get(new URIish(BAD_REPO), credentialItems));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUriWithCurlyBracesReturnsTrue() throws UnsupportedCredentialItem, URISyntaxException {
|
||||
GitCredentialsProviderFactory factory = new GitCredentialsProviderFactory();
|
||||
@@ -121,44 +121,44 @@ public class AwsCodeCommitCredentialsProviderTests {
|
||||
assertTrue(provider.get(new URIish(CURLY_BRACES_REPO), credentialItems));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testThrowsUnsupportedCredentialException() throws URISyntaxException {
|
||||
CredentialItem[] goodCredentialItems = makeCredentialItems();
|
||||
CredentialItem[] badCredentialItems = new CredentialItem[] {
|
||||
goodCredentialItems[0],
|
||||
goodCredentialItems[1],
|
||||
new CredentialItem.YesNoType("OK?")
|
||||
};
|
||||
try {
|
||||
provider.get(new URIish(AWS_REPO), badCredentialItems);
|
||||
fail("Expected UnsupportedCredentialItem exception");
|
||||
} catch (UnsupportedCredentialItem e) {
|
||||
assertNotNull(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReturnsCredentials() throws URISyntaxException {
|
||||
CredentialItem[] credentialItems = makeCredentialItems();
|
||||
assertTrue(provider.get(new URIish(AWS_REPO), credentialItems));
|
||||
|
||||
String theUsername = ((CredentialItem.Username) credentialItems[0]).getValue();
|
||||
char[] thePassword = ((CredentialItem.Password) credentialItems[1]).getValue();
|
||||
|
||||
assertEquals(USER, theUsername);
|
||||
assertNotNull(thePassword);
|
||||
|
||||
// The password will always begin with a timestamp like
|
||||
// 20161113T121314Z
|
||||
assertTrue(thePassword.length > 16);
|
||||
assertEquals('T', thePassword[8]);
|
||||
assertEquals('Z', thePassword[15]);
|
||||
}
|
||||
@Test
|
||||
public void testThrowsUnsupportedCredentialException() throws URISyntaxException {
|
||||
CredentialItem[] goodCredentialItems = makeCredentialItems();
|
||||
CredentialItem[] badCredentialItems = new CredentialItem[] {
|
||||
goodCredentialItems[0],
|
||||
goodCredentialItems[1],
|
||||
new CredentialItem.YesNoType("OK?")
|
||||
};
|
||||
try {
|
||||
provider.get(new URIish(AWS_REPO), badCredentialItems);
|
||||
fail("Expected UnsupportedCredentialItem exception");
|
||||
} catch (UnsupportedCredentialItem e) {
|
||||
assertNotNull(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testReturnsCredentials() throws URISyntaxException {
|
||||
CredentialItem[] credentialItems = makeCredentialItems();
|
||||
assertTrue(provider.get(new URIish(AWS_REPO), credentialItems));
|
||||
|
||||
String theUsername = ((CredentialItem.Username) credentialItems[0]).getValue();
|
||||
char[] thePassword = ((CredentialItem.Password) credentialItems[1]).getValue();
|
||||
|
||||
assertEquals(USER, theUsername);
|
||||
assertNotNull(thePassword);
|
||||
|
||||
// The password will always begin with a timestamp like
|
||||
// 20161113T121314Z
|
||||
assertTrue(thePassword.length > 16);
|
||||
assertEquals('T', thePassword[8]);
|
||||
assertEquals('Z', thePassword[15]);
|
||||
}
|
||||
|
||||
private CredentialItem[] makeCredentialItems() {
|
||||
CredentialItem[] credentialItems = new CredentialItem[2];
|
||||
credentialItems[0] = new CredentialItem.Username();
|
||||
credentialItems[1] = new CredentialItem.Password();
|
||||
return credentialItems;
|
||||
}
|
||||
private CredentialItem[] makeCredentialItems() {
|
||||
CredentialItem[] credentialItems = new CredentialItem[2];
|
||||
credentialItems[0] = new CredentialItem.Username();
|
||||
credentialItems[1] = new CredentialItem.Password();
|
||||
return credentialItems;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user