本文整理汇总了Java中com.amazonaws.services.sns.model.ListTopicsResult类的典型用法代码示例。如果您正苦于以下问题:Java ListTopicsResult类的具体用法?Java ListTopicsResult怎么用?Java ListTopicsResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ListTopicsResult类属于com.amazonaws.services.sns.model包,在下文中一共展示了ListTopicsResult类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testCreateListDeleteTopic_shouldCreateReturnAndDelete
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void testCreateListDeleteTopic_shouldCreateReturnAndDelete() {
mockSns(new MockParameters());
ListTopicsResult listTopicResultBefore = sns.listTopics();
assertEquals("topic list should contain zero items before insert",0,listTopicResultBefore.getTopics().size());
CreateTopicRequest create = new CreateTopicRequest()
.withName("major-topic");
CreateTopicResult createResult = sns.createTopic(create);
String topicArn = createResult.getTopicArn();
assertNotNull("verify returned topic ARN", topicArn);
ListTopicsResult listTopicResult = sns.listTopics();
assertEquals("after insert topic list should contain 1 item",1,listTopicResult.getTopics().size());
assertEquals("after insert topic list should contain before inserted topic arn", topicArn,
listTopicResult.getTopics().get(0).getTopicArn());
DeleteTopicResult deleteResult = sns.deleteTopic(topicArn);
assertNotNull(deleteResult);
ListTopicsResult listTopicsAfterDeletion = sns.listTopics();
assertEquals("topic list should contain zero items after deletion",0,listTopicsAfterDeletion.getTopics().size());
}
示例2: getOrCreateNotification
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
/**
*
* @param email
* @return
*/
public String getOrCreateNotification(String email) {
String ret = null;
String topicName = getTopicName(email);
String nextToken = null;
do {
ListTopicsResult listTopics = asyncSnsClient.listTopics(nextToken);
List<Topic> topics = listTopics.getTopics();
for (Topic s : topics) {
if (s.getTopicArn().endsWith(topicName)) {
ret = s.getTopicArn();
break;
}
}
nextToken = listTopics.getNextToken();
} while (ret == null && nextToken != null);
if (ret == null) {
// create the topic and the subscription
CreateTopicResult topic = asyncSnsClient.createTopic(topicName);
SubscribeRequest req = new SubscribeRequest(topic.getTopicArn(), "email", email);
asyncSnsClient.subscribeAsync(req);
ret = topic.getTopicArn();
}
return ret;
}
示例3: shouldCreateSnsTopicResource_withName
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void shouldCreateSnsTopicResource_withName() throws Exception {
// Given
final String name = randomString();
final String topicArn = topicArnForName(name);
final List<Topic> topics = Arrays.asList(randomTopic(), randomTopic(), topicForArn(topicArn), randomTopic());
final ListTopicsResult mockListTopicsResult = mock(ListTopicsResult.class);
when(mockListTopicsResult.getTopics()).thenReturn(topics);
when(mockListTopicsResult.getNextToken()).thenReturn(null);
final String nextToken = null;
when(mockAmazonSnsClient.listTopics(nextToken)).thenReturn(mockListTopicsResult);
final SnsTopicResource mockSnsTopicResource = mock(SnsTopicResource.class);
whenNew(SnsTopicResource.class).withArguments(name, topicArn, mockAmazonSnsClient)
.thenReturn(mockSnsTopicResource);
// When
final SnsTopicResource result = factory.createSnsTopicResource(name);
// Then
assertSame(mockSnsTopicResource, result);
}
示例4: resolveDestination_withExistentTopic_returnsTopicArnFoundWhileListingTopic
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void resolveDestination_withExistentTopic_returnsTopicArnFoundWhileListingTopic() throws Exception {
// Arrange
String topicArn = "arn:aws:sns:eu-west:123456789012:test";
AmazonSNS sns = mock(AmazonSNS.class);
when(sns.listTopics(new ListTopicsRequest(null))).thenReturn(new ListTopicsResult().withTopics(new Topic().withTopicArn(topicArn)));
DynamicTopicDestinationResolver resolver = new DynamicTopicDestinationResolver(sns);
// Act
String resolvedDestinationName = resolver.resolveDestination("test");
// Assert
assertEquals(topicArn, resolvedDestinationName);
}
示例5: resolveDestination_withExistentTopicAndMarker_returnsTopicArnFoundWhileListingTopic
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void resolveDestination_withExistentTopicAndMarker_returnsTopicArnFoundWhileListingTopic() throws Exception {
// Arrange
AmazonSNS sns = mock(AmazonSNS.class);
when(sns.listTopics(new ListTopicsRequest(null))).thenReturn(new ListTopicsResult().withNextToken("mark"));
String topicArn = "arn:aws:sns:eu-west:123456789012:test";
when(sns.listTopics(new ListTopicsRequest("mark"))).thenReturn(new ListTopicsResult().withTopics(new Topic().withTopicArn(topicArn)));
DynamicTopicDestinationResolver resolver = new DynamicTopicDestinationResolver(sns);
// Act
String resolvedDestinationName = resolver.resolveDestination("test");
// Assert
assertEquals(topicArn, resolvedDestinationName);
}
示例6: resolveDestination_withResourceIdResolver_shouldCallIt
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void resolveDestination_withResourceIdResolver_shouldCallIt() throws Exception {
// Arrange
String physicalTopicName = "arn:aws:sns:eu-west:123456789012:myTopic";
String logicalTopicName = "myTopic";
ResourceIdResolver resourceIdResolver = mock(ResourceIdResolver.class);
when(resourceIdResolver.resolveToPhysicalResourceId(logicalTopicName)).thenReturn(physicalTopicName);
AmazonSNS sns = mock(AmazonSNS.class);
when(sns.listTopics(new ListTopicsRequest(null))).thenReturn(new ListTopicsResult().withTopics(new Topic().withTopicArn(physicalTopicName)));
DynamicTopicDestinationResolver resolver = new DynamicTopicDestinationResolver(sns, resourceIdResolver);
// Assert
String resolvedDestinationName = resolver.resolveDestination(logicalTopicName);
// Assert
assertEquals(physicalTopicName, resolvedDestinationName);
}
示例7: send_validTextMessage_usesTopicChannel
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void send_validTextMessage_usesTopicChannel() throws Exception {
// Arrange
AmazonSNS amazonSns = mock(AmazonSNS.class);
NotificationMessagingTemplate notificationMessagingTemplate = new NotificationMessagingTemplate(amazonSns);
String physicalTopicName = "arn:aws:sns:eu-west:123456789012:test";
when(amazonSns.listTopics(new ListTopicsRequest(null))).thenReturn(new ListTopicsResult().withTopics(new Topic().withTopicArn(physicalTopicName)));
notificationMessagingTemplate.setDefaultDestinationName(physicalTopicName);
// Act
notificationMessagingTemplate.send(MessageBuilder.withPayload("Message content").build());
// Assert
verify(amazonSns).publish(new PublishRequest(physicalTopicName,
"Message content", null).withMessageAttributes(isNotNull()));
}
示例8: getTopicARN
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
public String getTopicARN() {
try {
if (topicANR.isEmpty()) {
ListTopicsResult topics = snsClient.listTopics();
for(Topic topic : topics.getTopics()) {
String foundArn = topic.getTopicArn();
if (foundArn.contains(TOPIC_NAME)) {
logger.info("Found notification topic for SNS, ARN is: " + foundArn);
topicANR = foundArn;
break;
}
}
}
if (topicANR.isEmpty()) {
logger.info("Did not find notification topic for SNS, to receive updates create topic: " + TOPIC_NAME);
}
return topicANR;
}
catch (AuthorizationErrorException authException) {
logger.error("Did not send SNS notification. You may need to update permissions for user via IAM. Exception was " + authException);
return "";
}
}
示例9: listTopicsFromEmptyRepository
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void listTopicsFromEmptyRepository() {
final ListTopicsResult result = sns.listTopics();
assertThat(result.getNextToken()).isNull();
assertThat(result.getTopics()).isEmpty();
}
示例10: listSingleTopic
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void listSingleTopic() {
sns.createTopic("test");
final ListTopicsResult result = sns.listTopics();
assertThat(result.getNextToken()).isNull();
assertThat(arnValues(result.getTopics())).containsExactly("arn:aws:sns:us-east-1:12345:test");
}
示例11: listMultiple
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void listMultiple() {
final String[] topics = new String[5];
for (int i = 0; i < 5; i++)
topics[i] = sns.createTopic("topic" + i).getTopicArn();
final ListTopicsResult result = sns.listTopics();
assertThat(result.getNextToken()).isNull();
assertThat(arnValues(result.getTopics())).containsExactly(topics);
}
示例12: topicsAreReturnedInChunksOf100
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void topicsAreReturnedInChunksOf100() {
for (int i = 0; i < 120; i++)
sns.createTopic("topic" + i);
ListTopicsResult result = sns.listTopics();
final String token = result.getNextToken();
assertThat(token).isNotNull();
assertThat(arnValues(result.getTopics()))
.hasSize(100)
.contains(
"arn:aws:sns:us-east-1:12345:topic0",
"arn:aws:sns:us-east-1:12345:topic1",
"arn:aws:sns:us-east-1:12345:topic10",
"arn:aws:sns:us-east-1:12345:topic100",
"arn:aws:sns:us-east-1:12345:topic8",
"arn:aws:sns:us-east-1:12345:topic80")
.doesNotContain(
"arn:aws:sns:us-east-1:12345:topic9");
result = sns.listTopics(token);
assertThat(result.getNextToken()).isNull();
assertThat(arnValues(result.getTopics()))
.hasSize(20)
.contains(
"arn:aws:sns:us-east-1:12345:topic81",
"arn:aws:sns:us-east-1:12345:topic9",
"arn:aws:sns:us-east-1:12345:topic90",
"arn:aws:sns:us-east-1:12345:topic99")
.doesNotContain(
"arn:aws:sns:us-east-1:12345:topic120");
}
示例13: topicsShouldBeReturnedInOrder
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
@Test
public void topicsShouldBeReturnedInOrder() {
final String[] topics = new String[4];
topics[1] = sns.createTopic("10").getTopicArn();
topics[0] = sns.createTopic("1").getTopicArn();
topics[3] = sns.createTopic("8").getTopicArn();
topics[2] = sns.createTopic("17").getTopicArn();
final ListTopicsResult result = sns.listTopics();
assertThat(result.getNextToken()).isNull();
assertThat(arnValues(result.getTopics())).containsExactly(topics);
}
示例14: topicArnForName
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
private String topicArnForName(final String name) {
String nextToken = null;
String topicArn = null;
while (topicArn == null) {
final ListTopicsResult listTopicsResult = amazonSnsClient.listTopics(nextToken);
topicArn = topicArnForNameInTopics(name, listTopicsResult.getTopics());
nextToken = listTopicsResult.getNextToken();
if (nextToken == null) {
break;
}
}
return topicArn;
}
示例15: getTopicResourceName
import com.amazonaws.services.sns.model.ListTopicsResult; //导入依赖的package包/类
private String getTopicResourceName(String marker, String topicName) {
ListTopicsResult listTopicsResult = this.amazonSns.listTopics(new ListTopicsRequest(marker));
for (Topic topic : listTopicsResult.getTopics()) {
AmazonResourceName resourceName = AmazonResourceName.fromString(topic.getTopicArn());
if (resourceName.getResourceType().equals(topicName)) {
return topic.getTopicArn();
}
}
if (StringUtils.hasText(listTopicsResult.getNextToken())) {
return getTopicResourceName(listTopicsResult.getNextToken(), topicName);
} else {
throw new IllegalArgumentException("No topic found for name :'" + topicName + "'");
}
}