Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/test/java/com/intercom/api/integration/AdminsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ public class AdminsTest {
public void before() {
// arrange
client = TestClientFactory.create();
adminId = client.admins().list().getAdmins()
adminId = client.admins()
.list()
.getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.get(0)
.orElseThrow(() -> new RuntimeException("Admin is required"))
Expand Down
5 changes: 3 additions & 2 deletions src/test/java/com/intercom/api/integration/ArticlesTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.intercom.api.Intercom;
import com.intercom.api.core.pagination.SyncPagingIterable;
import com.intercom.api.types.CreateArticleRequest;
import com.intercom.api.resources.articles.requests.DeleteArticleRequest;
import com.intercom.api.resources.articles.requests.FindArticleRequest;
import com.intercom.api.resources.articles.requests.ListArticlesRequest;
Expand All @@ -14,6 +13,7 @@
import com.intercom.api.types.AdminList;
import com.intercom.api.types.ArticleContent;
import com.intercom.api.types.ArticleTranslatedContent;
import com.intercom.api.types.CreateArticleRequest;
import com.intercom.api.types.DeletedArticleObject;
import com.intercom.api.utils.TestClientFactory;
import com.intercom.api.utils.Utils;
Expand All @@ -39,7 +39,8 @@ public void before() {
AdminList randomAdmins = client.admins().list();

Integer parentId = Integer.parseInt(randomCollections.getItems().get(0).getId());
int adminId = Integer.parseInt(randomAdmins.getAdmins()
int adminId = Integer.parseInt(randomAdmins
.getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.get(0)
.orElseThrow(() -> new RuntimeException("Admin is required"))
Expand Down
8 changes: 6 additions & 2 deletions src/test/java/com/intercom/api/integration/CompaniesTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import com.intercom.api.core.pagination.SyncPage;
import com.intercom.api.core.pagination.SyncPagingIterable;
import com.intercom.api.resources.companies.requests.AttachContactToCompanyRequest;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.resources.companies.requests.DeleteCompanyRequest;
import com.intercom.api.resources.companies.requests.DetachContactFromCompanyRequest;
import com.intercom.api.resources.companies.requests.FindCompanyRequest;
Expand All @@ -16,6 +15,7 @@
import com.intercom.api.resources.contacts.types.Contact;
import com.intercom.api.types.CompanyAttachedContacts;
import com.intercom.api.types.CompanyAttachedSegments;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.types.DeletedCompanyObject;
import com.intercom.api.utils.TestClientFactory;
import com.intercom.api.utils.Utils;
Expand All @@ -42,7 +42,11 @@ public void before() {
client.contacts().list(ListContactsRequest.builder().perPage(1).build());

// act
contactId = randomContacts.getItems().get(0).getId().orElseThrow(() -> new RuntimeException("Contact ID is required"));
contactId = randomContacts
.getItems()
.get(0)
.getId()
.orElseThrow(() -> new RuntimeException("Contact ID is required"));
company = client.companies()
.createOrUpdate(java.util.Optional.of(CreateOrUpdateCompanyRequest.builder()
.name(Utils.randomString())
Expand Down
49 changes: 20 additions & 29 deletions src/test/java/com/intercom/api/integration/ContactsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,6 @@
import com.intercom.api.core.pagination.SyncPage;
import com.intercom.api.core.pagination.SyncPagingIterable;
import com.intercom.api.resources.companies.requests.AttachContactToCompanyRequest;
import com.intercom.api.resources.contacts.types.ContactsCreateResponse;
import com.intercom.api.resources.contacts.types.ContactsFindResponse;
import com.intercom.api.resources.contacts.types.ContactsUpdateResponse;
import com.intercom.api.resources.contacts.types.ContactsMergeLeadInUserResponse;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.resources.companies.requests.DeleteCompanyRequest;
import com.intercom.api.resources.companies.types.Company;
import com.intercom.api.resources.contacts.requests.ArchiveContactRequest;
Expand All @@ -25,6 +20,10 @@
import com.intercom.api.resources.contacts.requests.UnarchiveContactRequest;
import com.intercom.api.resources.contacts.requests.UpdateContactRequest;
import com.intercom.api.resources.contacts.types.Contact;
import com.intercom.api.resources.contacts.types.ContactsCreateResponse;
import com.intercom.api.resources.contacts.types.ContactsFindResponse;
import com.intercom.api.resources.contacts.types.ContactsMergeLeadInUserResponse;
import com.intercom.api.resources.contacts.types.ContactsUpdateResponse;
import com.intercom.api.resources.tags.requests.TagContactRequest;
import com.intercom.api.resources.tags.requests.UntagContactRequest;
import com.intercom.api.resources.tags.types.Tag;
Expand All @@ -34,6 +33,7 @@
import com.intercom.api.types.ContactSegments;
import com.intercom.api.types.ContactUnarchived;
import com.intercom.api.types.CreateContactRequest;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.types.CreateOrUpdateTagRequest;
import com.intercom.api.types.SubscriptionTypeList;
import com.intercom.api.types.TagList;
Expand Down Expand Up @@ -86,9 +86,11 @@ public void before() {
.build());

SubscriptionTypeList subscriptionTypes = client.subscriptionTypes().list();
subscriptionId = subscriptionTypes.getData()
subscriptionId = subscriptionTypes
.getData()
.orElseThrow(() -> new RuntimeException("No subscription types found"))
.get(0).getId()
.get(0)
.getId()
.orElseThrow(() -> new RuntimeException("Subscription type ID is required"));
client.contacts()
.attachSubscription(AttachSubscriptionToContactRequest.builder()
Expand Down Expand Up @@ -149,7 +151,8 @@ public void testCreateLead() {
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(response.getId().orElseThrow(() -> new RuntimeException("Contact ID is required")))
.contactId(
response.getId().orElseThrow(() -> new RuntimeException("Contact ID is required")))
.build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contact.", e);
Expand Down Expand Up @@ -183,31 +186,25 @@ public void testUpdate() {
public void testArchive() {
// act
ContactArchived response = client.contacts()
.archive(ArchiveContactRequest.builder()
.contactId(contactId)
.build());
.archive(ArchiveContactRequest.builder().contactId(contactId).build());

// assert
Assertions.assertNotNull(response);

// cleanup
client.contacts()
.unarchive(UnarchiveContactRequest.builder()
.contactId(contactId)
.build());
.unarchive(
UnarchiveContactRequest.builder().contactId(contactId).build());
}

@Test
public void testUnarchive() {
// act
client.contacts()
.archive(ArchiveContactRequest.builder()
.contactId(contactId)
.build());
.archive(ArchiveContactRequest.builder().contactId(contactId).build());
ContactUnarchived response = client.contacts()
.unarchive(UnarchiveContactRequest.builder()
.contactId(contactId)
.build());
.unarchive(
UnarchiveContactRequest.builder().contactId(contactId).build());

// assert
Assertions.assertNotNull(response);
Expand All @@ -223,9 +220,7 @@ public void testDelete() {
.build()));
String createdId = created.getId().orElseThrow(() -> new RuntimeException("Contact ID is required"));
ContactDeleted response = client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(createdId)
.build());
.delete(DeleteContactRequest.builder().contactId(createdId).build());

// assert
Assertions.assertNotNull(response);
Expand All @@ -252,9 +247,7 @@ public void testMergeLeadInUser() {
// cleanup
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(leadId)
.build());
.delete(DeleteContactRequest.builder().contactId(leadId).build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contact.", e);
}
Expand Down Expand Up @@ -401,9 +394,7 @@ private void tryDeleteCompany() {
private void tryDeleteContact() {
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(contactId)
.build());
.delete(DeleteContactRequest.builder().contactId(contactId).build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contact.", e);
}
Expand Down
32 changes: 17 additions & 15 deletions src/test/java/com/intercom/api/integration/ConversationsTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,17 @@ public void before() {
// arrange
client = TestClientFactory.create();

List<Admin> admins = client.admins().list().getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.stream()
.filter(opt -> opt.isPresent())
.map(opt -> opt.get())
.filter(Admin::getHasInboxSeat)
.collect(Collectors.toList());
List<Admin> admins =
client
.admins()
.list()
.getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.stream()
.filter(opt -> opt.isPresent())
.map(opt -> opt.get())
.filter(Admin::getHasInboxSeat)
.collect(Collectors.toList());
adminId = admins.get(0).getId();
secondAdminId = admins.get(1).getId();

Expand Down Expand Up @@ -116,7 +120,8 @@ public void before() {
after();
}

String msgConversationId = conversationMessage.getConversationId()
String msgConversationId = conversationMessage
.getConversationId()
.orElseThrow(() -> new RuntimeException("Conversation ID is required"));
conversation = client.conversations()
.find(FindConversationRequest.builder()
Expand Down Expand Up @@ -223,7 +228,8 @@ public void testAssign() {
public void testRunAssignmentRules() {
Intercom legacyServiceClient = TestClientFactory.create(ApiVersion._2_11);
// act - runAssignmentRules returns void
legacyServiceClient.conversations()
legacyServiceClient
.conversations()
.runAssignmentRules(AutoAssignConversationRequest.builder()
.conversationId(conversationId)
.build());
Expand Down Expand Up @@ -422,17 +428,13 @@ public void testPaginationPager() {
private void tryDeleteContacts() {
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(userId)
.build());
.delete(DeleteContactRequest.builder().contactId(userId).build());
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(secondUserId)
.build());
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(leadId)
.build());
.delete(DeleteContactRequest.builder().contactId(leadId).build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contacts.", e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import com.intercom.api.utils.Utils;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -45,9 +44,7 @@ public void before() {
ObjectMappers.JSON_MAPPER.convertValue(createRequestData, CreateDataAttributeRequest.class);

dataAttribute = client.dataAttributes().create(createRequest);
dataAttributeId = dataAttribute
.getId()
.orElseThrow(() -> new RuntimeException("dataAttribute.id is required"));
dataAttributeId = dataAttribute.getId().orElseThrow(() -> new RuntimeException("dataAttribute.id is required"));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ public void before() {
.createdAtAfter(1670000000)
.createdAtBefore(1670940528)
.build());
jobIdentifier = export.getJobIdentifier()
.orElseThrow(() -> new RuntimeException("Job identifier is required"));
jobIdentifier = export.getJobIdentifier().orElseThrow(() -> new RuntimeException("Job identifier is required"));
}

@Test
Expand Down
16 changes: 7 additions & 9 deletions src/test/java/com/intercom/api/integration/IntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

import com.intercom.api.Intercom;
import com.intercom.api.resources.companies.requests.AttachContactToCompanyRequest;
import com.intercom.api.resources.contacts.types.ContactsCreateResponse;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.resources.companies.requests.DeleteCompanyRequest;
import com.intercom.api.resources.companies.types.Company;
import com.intercom.api.resources.contacts.requests.DeleteContactRequest;
import com.intercom.api.resources.contacts.types.ContactsCreateResponse;
import com.intercom.api.resources.conversations.requests.CreateConversationRequest;
import com.intercom.api.resources.messages.types.Message;
import com.intercom.api.resources.tags.requests.DeleteTagRequest;
import com.intercom.api.resources.tags.requests.TagConversationRequest;
import com.intercom.api.resources.tags.types.Tag;
import com.intercom.api.resources.tags.types.TagsCreateRequestBody;
import com.intercom.api.types.CreateContactRequest;
import com.intercom.api.types.CreateOrUpdateCompanyRequest;
import com.intercom.api.types.CreateOrUpdateTagRequest;
import com.intercom.api.utils.TestClientFactory;
import com.intercom.api.utils.Utils;
Expand All @@ -38,7 +38,9 @@ public class IntegrationTest {
public void before() {
// arrange
client = TestClientFactory.create();
adminId = client.admins().list().getAdmins()
adminId = client.admins()
.list()
.getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.get(0)
.orElseThrow(() -> new RuntimeException("Admin is required"))
Expand Down Expand Up @@ -137,13 +139,9 @@ public void testTagConversation() {
private void tryDeleteContacts() {
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(userId)
.build());
.delete(DeleteContactRequest.builder().contactId(userId).build());
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(leadId)
.build());
.delete(DeleteContactRequest.builder().contactId(leadId).build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contacts.", e);
}
Expand Down
11 changes: 5 additions & 6 deletions src/test/java/com/intercom/api/integration/MessagesTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ public void before() {
// arrange
client = TestClientFactory.create();

adminId = client.admins().list().getAdmins()
adminId = client.admins()
.list()
.getAdmins()
.orElseThrow(() -> new RuntimeException("Admins list is required"))
.get(0)
.orElseThrow(() -> new RuntimeException("Admin is required"))
Expand All @@ -40,8 +42,7 @@ public void before() {
.externalId(Utils.randomString())
.name("Message Test User")
.build()));
userId = user.getId()
.orElseThrow(() -> new RuntimeException("User ID is required"));
userId = user.getId().orElseThrow(() -> new RuntimeException("User ID is required"));
}

@AfterEach
Expand Down Expand Up @@ -111,9 +112,7 @@ public void testCreateMessageNoConversation() {
private void tryDeleteContact() {
try {
client.contacts()
.delete(DeleteContactRequest.builder()
.contactId(userId)
.build());
.delete(DeleteContactRequest.builder().contactId(userId).build());
} catch (Exception e) {
throw new RuntimeException("Failed to delete contact.", e);
}
Expand Down
Loading
Loading