Search in sources :

Example 6 with DBSecurityGroup

use of com.amazonaws.services.rds.model.DBSecurityGroup in project Synapse-Stack-Builder by Sage-Bionetworks.

the class DatabaseSecuritySetupTest method testAddCIDRToGroup.

/**
 * Verify the request is made as expected.
 */
@Test
public void testAddCIDRToGroup() {
    String dbGroupName = "dbGroupName";
    String cIDR = "0.0.0.0/255";
    AuthorizeDBSecurityGroupIngressRequest expectedIngress = new AuthorizeDBSecurityGroupIngressRequest(dbGroupName);
    expectedIngress.setCIDRIP(cIDR);
    AmazonServiceException unknown = new AmazonServiceException("Unknonwn");
    unknown.setErrorCode(ERROR_CODE_AUTHORIZATION_ALREADY_EXITS);
    when(mockClient.authorizeDBSecurityGroupIngress(any(AuthorizeDBSecurityGroupIngressRequest.class))).thenReturn(new DBSecurityGroup());
    // Make the call
    databaseSecuritySetup.addCIDRToGroup(dbGroupName, cIDR);
    // Validate the data was passed
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(expectedIngress);
}
Also used : AuthorizeDBSecurityGroupIngressRequest(com.amazonaws.services.rds.model.AuthorizeDBSecurityGroupIngressRequest) AmazonServiceException(com.amazonaws.AmazonServiceException) DBSecurityGroup(com.amazonaws.services.rds.model.DBSecurityGroup) Test(org.junit.Test)

Example 7 with DBSecurityGroup

use of com.amazonaws.services.rds.model.DBSecurityGroup in project Synapse-Stack-Builder by Sage-Bionetworks.

the class DatabaseSecuritySetupTest method testSetupDatabaseAllSecurityGroups.

/**
 * Test that the expected security groups are created.
 */
@Test
public void testSetupDatabaseAllSecurityGroups() {
    // Id gen
    DBSecurityGroup expectedIdGroup = new DBSecurityGroup().withDBSecurityGroupName(config.getIdGeneratorDatabaseSecurityGroupName());
    DescribeDBSecurityGroupsResult result = new DescribeDBSecurityGroupsResult().withDBSecurityGroups(expectedIdGroup);
    when(mockClient.describeDBSecurityGroups(new DescribeDBSecurityGroupsRequest().withDBSecurityGroupName(config.getIdGeneratorDatabaseSecurityGroupName()))).thenReturn(result);
    // stack
    DBSecurityGroup expectedStackGroup = new DBSecurityGroup().withDBSecurityGroupName(config.getStackDatabaseSecurityGroupName());
    result = new DescribeDBSecurityGroupsResult().withDBSecurityGroups(expectedStackGroup);
    when(mockClient.describeDBSecurityGroups(new DescribeDBSecurityGroupsRequest().withDBSecurityGroupName(config.getStackDatabaseSecurityGroupName()))).thenReturn(result);
    // Make the call
    databaseSecuritySetup.setupDatabaseAllSecurityGroups();
    // Verify the expected calls
    // Id gen db security group
    CreateDBSecurityGroupRequest request = new CreateDBSecurityGroupRequest();
    request.setDBSecurityGroupDescription(config.getIdGeneratorDatabaseSecurityGroupDescription());
    request.setDBSecurityGroupName(config.getIdGeneratorDatabaseSecurityGroupName());
    verify(mockClient, times(1)).createDBSecurityGroup(request);
    // Stack db security group
    request = new CreateDBSecurityGroupRequest();
    request.setDBSecurityGroupDescription(config.getStackDatabaseSecurityGroupDescription());
    request.setDBSecurityGroupName(config.getStackDatabaseSecurityGroupName());
    verify(mockClient, times(1)).createDBSecurityGroup(request);
    // Check the access adds
    // Add to id gen group
    AuthorizeDBSecurityGroupIngressRequest ingressRequest = new AuthorizeDBSecurityGroupIngressRequest(config.getIdGeneratorDatabaseSecurityGroupName());
    ingressRequest.setEC2SecurityGroupOwnerId(elasticSecurityGroup.getOwnerId());
    ingressRequest.setEC2SecurityGroupName(elasticSecurityGroup.getGroupName());
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(ingressRequest);
    // add id gen CIDR
    ingressRequest = new AuthorizeDBSecurityGroupIngressRequest(config.getIdGeneratorDatabaseSecurityGroupName());
    ingressRequest.setCIDRIP(config.getCIDRForSSH());
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(ingressRequest);
    // add to the stack db group
    // Check the access adds
    ingressRequest = new AuthorizeDBSecurityGroupIngressRequest(config.getStackDatabaseSecurityGroupName());
    ingressRequest.setEC2SecurityGroupOwnerId(elasticSecurityGroup.getOwnerId());
    ingressRequest.setEC2SecurityGroupName(elasticSecurityGroup.getGroupName());
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(ingressRequest);
    // add stack CIDR
    ingressRequest = new AuthorizeDBSecurityGroupIngressRequest(config.getStackDatabaseSecurityGroupName());
    ingressRequest.setCIDRIP(config.getCIDRForSSH());
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(ingressRequest);
    // Make sure the groups are set in the resources
    assertEquals(expectedIdGroup, resources.getIdGeneratorDatabaseSecurityGroup());
    assertEquals(expectedStackGroup, resources.getStackInstancesDatabaseSecurityGroup());
}
Also used : DescribeDBSecurityGroupsRequest(com.amazonaws.services.rds.model.DescribeDBSecurityGroupsRequest) AuthorizeDBSecurityGroupIngressRequest(com.amazonaws.services.rds.model.AuthorizeDBSecurityGroupIngressRequest) CreateDBSecurityGroupRequest(com.amazonaws.services.rds.model.CreateDBSecurityGroupRequest) DBSecurityGroup(com.amazonaws.services.rds.model.DBSecurityGroup) DescribeDBSecurityGroupsResult(com.amazonaws.services.rds.model.DescribeDBSecurityGroupsResult) Test(org.junit.Test)

Example 8 with DBSecurityGroup

use of com.amazonaws.services.rds.model.DBSecurityGroup in project Synapse-Stack-Builder by Sage-Bionetworks.

the class DatabaseSecuritySetupTest method testAddEC2SecurityGroup.

/**
 * Verify the request is made as expected.
 */
@Test
public void testAddEC2SecurityGroup() {
    String dbGroupName = "dbGroupName";
    AuthorizeDBSecurityGroupIngressRequest expectedIngress = new AuthorizeDBSecurityGroupIngressRequest(dbGroupName);
    expectedIngress.setEC2SecurityGroupOwnerId(elasticSecurityGroup.getOwnerId());
    expectedIngress.setEC2SecurityGroupName(elasticSecurityGroup.getGroupName());
    AmazonServiceException unknown = new AmazonServiceException("Unknonwn");
    unknown.setErrorCode(ERROR_CODE_AUTHORIZATION_ALREADY_EXITS);
    when(mockClient.authorizeDBSecurityGroupIngress(any(AuthorizeDBSecurityGroupIngressRequest.class))).thenReturn(new DBSecurityGroup());
    // Make the call
    databaseSecuritySetup.addEC2SecurityGroup(dbGroupName, elasticSecurityGroup);
    // Validate the data was passed
    verify(mockClient, times(1)).authorizeDBSecurityGroupIngress(expectedIngress);
}
Also used : AuthorizeDBSecurityGroupIngressRequest(com.amazonaws.services.rds.model.AuthorizeDBSecurityGroupIngressRequest) AmazonServiceException(com.amazonaws.AmazonServiceException) DBSecurityGroup(com.amazonaws.services.rds.model.DBSecurityGroup) Test(org.junit.Test)

Aggregations

DBSecurityGroup (com.amazonaws.services.rds.model.DBSecurityGroup)8 Test (org.junit.Test)7 AmazonServiceException (com.amazonaws.AmazonServiceException)3 AuthorizeDBSecurityGroupIngressRequest (com.amazonaws.services.rds.model.AuthorizeDBSecurityGroupIngressRequest)3 DescribeDBSecurityGroupsRequest (com.amazonaws.services.rds.model.DescribeDBSecurityGroupsRequest)3 DescribeDBSecurityGroupsResult (com.amazonaws.services.rds.model.DescribeDBSecurityGroupsResult)3 CreateDBSecurityGroupRequest (com.amazonaws.services.rds.model.CreateDBSecurityGroupRequest)2 DeleteDBSecurityGroupRequest (com.amazonaws.services.rds.model.DeleteDBSecurityGroupRequest)1