use of com.amazonaws.services.rds.model.Tag in project spring-cloud-aws by awspring.
the class AmazonRdsDataSourceUserTagsFactoryBeanTest method getObject_instanceWithTagsAndNoResourceIdResolverAndDefaultRegion_mapWithTagsReturned.
@Test
void getObject_instanceWithTagsAndNoResourceIdResolverAndDefaultRegion_mapWithTagsReturned() throws Exception {
// Arrange
AmazonRDS amazonRds = mock(AmazonRDS.class);
AmazonIdentityManagement amazonIdentityManagement = mock(AmazonIdentityManagement.class);
AmazonRdsDataSourceUserTagsFactoryBean factoryBean = new AmazonRdsDataSourceUserTagsFactoryBean(amazonRds, "test", amazonIdentityManagement);
when(amazonIdentityManagement.getUser()).thenReturn(new GetUserResult().withUser(new User("/", "aemruli", "123456789012", "arn:aws:iam::1234567890:user/aemruli", new Date())));
when(amazonRds.listTagsForResource(new ListTagsForResourceRequest().withResourceName("arn:aws:rds:us-west-2:1234567890:db:test"))).thenReturn(new ListTagsForResourceResult().withTagList(new Tag().withKey("key1").withValue("value1"), new Tag().withKey("key2").withValue("value2")));
// Act
factoryBean.afterPropertiesSet();
Map<String, String> userTagMap = factoryBean.getObject();
// Assert
assertThat(userTagMap.get("key1")).isEqualTo("value1");
assertThat(userTagMap.get("key2")).isEqualTo("value2");
}
use of com.amazonaws.services.rds.model.Tag in project spring-cloud-aws by awspring.
the class AmazonRdsDataSourceBeanDefinitionParserTest method parseInternal_userTagsDefined_createsUserTagBeanDefinition.
@Test
void parseInternal_userTagsDefined_createsUserTagBeanDefinition() throws Exception {
// Arrange
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.rootBeanDefinition(Mockito.class);
beanDefinitionBuilder.setFactoryMethod("mock");
beanDefinitionBuilder.addConstructorArgValue(AmazonRDS.class);
beanFactory.registerBeanDefinition(AmazonWebserviceClientConfigurationUtils.getBeanName(AmazonRDSClient.class.getName()), beanDefinitionBuilder.getBeanDefinition());
BeanDefinitionBuilder identityBuilder = BeanDefinitionBuilder.rootBeanDefinition(Mockito.class);
identityBuilder.setFactoryMethod("mock");
identityBuilder.addConstructorArgValue(AmazonIdentityManagement.class);
beanFactory.registerBeanDefinition(AmazonWebserviceClientConfigurationUtils.getBeanName(AmazonIdentityManagement.class.getName()), identityBuilder.getBeanDefinition());
XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);
xmlBeanDefinitionReader.loadBeanDefinitions(new ClassPathResource(getClass().getSimpleName() + "-userTags.xml", getClass()));
AmazonRDS client = beanFactory.getBean(AmazonWebserviceClientConfigurationUtils.getBeanName(AmazonRDSClient.class.getName()), AmazonRDS.class);
AmazonIdentityManagement amazonIdentityManagement = beanFactory.getBean(AmazonWebserviceClientConfigurationUtils.getBeanName(AmazonIdentityManagement.class.getName()), AmazonIdentityManagement.class);
when(amazonIdentityManagement.getUser()).thenReturn(new GetUserResult().withUser(new User("/", "aemruli", "123456789012", "arn:aws:iam::1234567890:user/aemruli", new Date())));
when(client.listTagsForResource(new ListTagsForResourceRequest().withResourceName("arn:aws:rds:us-west-2:1234567890:db:test"))).thenReturn(new ListTagsForResourceResult().withTagList(new Tag().withKey("key1").withValue("value2")));
// Act
Map<?, ?> dsTags = beanFactory.getBean("dsTags", Map.class);
// Assert
assertThat(dsTags.get("key1")).isEqualTo("value2");
}
use of com.amazonaws.services.rds.model.Tag in project spring-cloud-aws by awspring.
the class AmazonRdsDataSourceBeanDefinitionParserTest method parseInternal_customRdsInstance_createsRdsBeanAndUserTagsWithCustomRdsInstance.
@Test
void parseInternal_customRdsInstance_createsRdsBeanAndUserTagsWithCustomRdsInstance() throws Exception {
// Arrange
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
XmlBeanDefinitionReader xmlBeanDefinitionReader = new XmlBeanDefinitionReader(beanFactory);
xmlBeanDefinitionReader.loadBeanDefinitions(new ClassPathResource(getClass().getSimpleName() + "-customRdsInstance.xml", getClass()));
AmazonRDS clientMock = beanFactory.getBean("amazonRds", AmazonRDS.class);
when(clientMock.describeDBInstances(new DescribeDBInstancesRequest().withDBInstanceIdentifier("test"))).thenReturn(new DescribeDBInstancesResult().withDBInstances(new DBInstance().withDBInstanceStatus("available").withDBName("test").withDBInstanceIdentifier("test").withEngine("mysql").withMasterUsername("admin").withEndpoint(new Endpoint().withAddress("localhost").withPort(3306)).withReadReplicaDBInstanceIdentifiers("read1")));
AmazonIdentityManagement amazonIdentityManagement = beanFactory.getBean("myIdentityService", AmazonIdentityManagement.class);
when(amazonIdentityManagement.getUser()).thenReturn(new GetUserResult().withUser(new User("/", "aemruli", "123456789012", "arn:aws:iam::1234567890:user/aemruli", new Date())));
when(clientMock.listTagsForResource(new ListTagsForResourceRequest().withResourceName("arn:aws:rds:us-west-2:1234567890:db:test"))).thenReturn(new ListTagsForResourceResult().withTagList(new Tag().withKey("key1").withValue("value2")));
// Act
Map<?, ?> dsTags = beanFactory.getBean("dsTags", Map.class);
DataSource dataSource = beanFactory.getBean(DataSource.class);
// Assert
assertThat(dsTags.get("key1")).isEqualTo("value2");
assertThat(dataSource instanceof org.apache.tomcat.jdbc.pool.DataSource).isTrue();
}
use of com.amazonaws.services.rds.model.Tag in project spring-cloud-aws by awspring.
the class AmazonRdsDataSourceUserTagsFactoryBean method createInstance.
@Override
protected Map<String, String> createInstance() throws Exception {
LinkedHashMap<String, String> userTags = new LinkedHashMap<>();
ListTagsForResourceResult tagsForResource = this.amazonRds.listTagsForResource(new ListTagsForResourceRequest().withResourceName(getDbInstanceResourceName()));
for (Tag tag : tagsForResource.getTagList()) {
userTags.put(tag.getKey(), tag.getValue());
}
return userTags;
}
use of com.amazonaws.services.rds.model.Tag in project spring-cloud-aws by awspring.
the class AmazonRdsDataSourceUserTagsFactoryBeanTest method getObject_instanceWithTagsConfiguredWithCustomResourceResolverAndCustomRegion_mapWithTagsReturned.
@Test
void getObject_instanceWithTagsConfiguredWithCustomResourceResolverAndCustomRegion_mapWithTagsReturned() throws Exception {
// Arrange
AmazonRDS amazonRds = mock(AmazonRDS.class);
ResourceIdResolver resourceIdResolver = mock(ResourceIdResolver.class);
AmazonIdentityManagement amazonIdentityManagement = mock(AmazonIdentityManagement.class);
AmazonRdsDataSourceUserTagsFactoryBean factoryBean = new AmazonRdsDataSourceUserTagsFactoryBean(amazonRds, "test", amazonIdentityManagement);
factoryBean.setResourceIdResolver(resourceIdResolver);
factoryBean.setRegion(Region.getRegion(Regions.EU_WEST_1));
when(resourceIdResolver.resolveToPhysicalResourceId("test")).thenReturn("stack-test");
when(amazonIdentityManagement.getUser()).thenReturn(new GetUserResult().withUser(new User("/", "aemruli", "123456789012", "arn:aws:iam::1234567890:user/aemruli", new Date())));
when(amazonRds.listTagsForResource(new ListTagsForResourceRequest().withResourceName("arn:aws:rds:eu-west-1:1234567890:db:stack-test"))).thenReturn(new ListTagsForResourceResult().withTagList(new Tag().withKey("key1").withValue("value1"), new Tag().withKey("key2").withValue("value2")));
// Act
factoryBean.afterPropertiesSet();
Map<String, String> userTagMap = factoryBean.getObject();
// Assert
assertThat(userTagMap.get("key1")).isEqualTo("value1");
assertThat(userTagMap.get("key2")).isEqualTo("value2");
}
Aggregations