diff --git a/README.md b/README.md index 31575f9..e8df420 100644 --- a/README.md +++ b/README.md @@ -90,7 +90,7 @@ Example config init: final MailtrapConfig config = new MailtrapConfig.Builder() .token("") .sandbox(true) - .inboxId(123456) + .sandboxId(123456) .build(); ``` @@ -110,13 +110,13 @@ public class MailtrapJavaSDKSandboxTest { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; private static final String RECIPIENT_EMAIL = "recipient@domain.com"; - private static final long INBOX_ID = 1L; + private static final long SANDBOX_ID = 1L; public static void main(String[] args) { final MailtrapConfig config = new MailtrapConfig.Builder() .token(TOKEN) .sandbox(true) - .inboxId(INBOX_ID) + .sandboxId(SANDBOX_ID) .build(); final MailtrapClient client = MailtrapClientFactory.createMailtrapClient(config); @@ -163,7 +163,7 @@ public class SwitchSendFromClient { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; private static final String RECIPIENT_EMAIL = "recipient@domain.com"; - private static final long INBOX_ID = 1L; + private static final long SANDBOX_ID = 1L; public static void main(String[] args) { // Minimal config init, just token @@ -188,7 +188,7 @@ public class SwitchSendFromClient { client.send(mail); // Sandbox send - client.switchToEmailTestingApi(INBOX_ID); + client.switchToEmailSandboxApi(SANDBOX_ID); client.send(mail); } @@ -220,7 +220,7 @@ public class FullFeaturedExample { public static void main(String[] args) { final var config = new MailtrapConfig.Builder() .token(TOKEN) - //by default both `bulk` and `sandbox` are null, `inboxId` is null + //by default both `bulk` and `sandbox` are null, `sandboxId` is null .build(); final var client = MailtrapClientFactory.createMailtrapClient(config); @@ -347,21 +347,21 @@ You can find the [Mailtrap Java API reference](https://mailtrap.github.io/mailtr - [Error handling](examples/java/io/mailtrap/examples/sending/ErrorsExample.java) - [Send using template](examples/java/io/mailtrap/examples/sending/TemplateExample.java) - [Batch](examples/java/io/mailtrap/examples/sending/BatchExample.java) -- [Sending Domains](examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java) +- [Domains](examples/java/io/mailtrap/examples/domains/DomainsExample.java) - [Company Info](examples/java/io/mailtrap/examples/companyinfo/CompanyInfoExample.java) - [Suppressions](examples/java/io/mailtrap/examples/suppressions/SuppressionsExample.java) - [Tracking Opt-outs](examples/java/io/mailtrap/examples/trackingoptouts/TrackingOptOutsExample.java) - [Stats](examples/java/io/mailtrap/examples/sending/StatsExample.java) - [Email Logs](examples/java/io/mailtrap/examples/emaillogs/EmailLogsExample.java) -### Email Testing API +### Email Sandbox API -- [Attachments](examples/java/io/mailtrap/examples/testing/AttachmentsExample.java) -- [Inboxes](examples/java/io/mailtrap/examples/testing/InboxesExample.java) -- [Messages](examples/java/io/mailtrap/examples/testing/MessagesExample.java) -- [Projects](examples/java/io/mailtrap/examples/testing/ProjectsExample.java) -- [Sandbox send using template](examples/java/io/mailtrap/examples/testing/EmailExample.java) -- [Batch](examples/java/io/mailtrap/examples/testing/BatchExample.java) +- [Attachments](examples/java/io/mailtrap/examples/sandbox/AttachmentsExample.java) +- [Sandboxes](examples/java/io/mailtrap/examples/sandbox/SandboxesExample.java) +- [Messages](examples/java/io/mailtrap/examples/sandbox/MessagesExample.java) +- [Projects](examples/java/io/mailtrap/examples/sandbox/ProjectsExample.java) +- [Sandbox send using template](examples/java/io/mailtrap/examples/sandbox/EmailExample.java) +- [Batch](examples/java/io/mailtrap/examples/sandbox/BatchExample.java) ### Inbound Email API @@ -394,6 +394,32 @@ You can find the [Mailtrap Java API reference](https://mailtrap.github.io/mailtr - [Email Campaigns](examples/java/io/mailtrap/examples/emailcampaigns/EmailCampaignsExample.java) - [Marketing Stats](examples/java/io/mailtrap/examples/marketingstats/MarketingStatsExample.java) +### Renamed APIs + +The SDK now uses the product's names: Email Testing inboxes are **sandboxes** and sending domains are **domains**. The old +entry points still work and call the same endpoints, but they are marked `@Deprecated(since = "1.11.0")` and will be +removed in a future major release. Types such as `MailtrapEmailTestingApi`, `Inboxes`, `InboxResponse`, `SendingDomains` +and `SendingDomainsResponse` keep their names until that release. + +| Old | New | +|-----|-----| +| `client.testingApi()` | `client.sandboxApi()` | +| `client.switchToEmailTestingApi(inboxId)` | `client.switchToEmailSandboxApi(sandboxId)` | +| `new MailtrapConfig.Builder().inboxId(id)` | `new MailtrapConfig.Builder().sandboxId(id)` | +| `config.getInboxId()` | `config.getSandboxId()` | +| `Constants.EMAIL_TESTING_SEND_HOST` | `Constants.EMAIL_SANDBOX_SEND_HOST` | +| `sandboxApi().inboxes()` | `sandboxApi().sandboxes()` | +| `createInbox(accountId, projectId, request)` | `createSandbox(accountId, projectId, request)` | +| `getInboxAttributes(accountId, inboxId)` | `getSandboxAttributes(accountId, sandboxId)` | +| `updateInbox(accountId, inboxId, request)` | `updateSandbox(accountId, sandboxId, request)` | +| `deleteInbox(accountId, inboxId)` | `deleteSandbox(accountId, sandboxId)` | +| `cleanInbox(accountId, inboxId)` | `cleanSandbox(accountId, sandboxId)` | +| `getInboxes(accountId)` | `getSandboxes(accountId)` | +| `sendingApi().domains().getSendingDomains(accountId)` | `sendingApi().domains().getDomains(accountId)` | +| `getSendingDomain(accountId, sendingDomainId)` | `getDomain(accountId, domainId)` | +| `sendSendingDomainsSetupInstructions(accountId, sendingDomainId, request)` | `sendDomainSetupInstructions(accountId, domainId, request)` | +| `deleteSendingDomain(accountId, sendingDomainId)` | `deleteDomain(accountId, domainId)` | + ## Contributing Bug reports and pull requests are welcome on [GitHub](https://github.com/mailtrap/mailtrap-java). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](CODE_OF_CONDUCT.md). diff --git a/examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java b/examples/java/io/mailtrap/examples/domains/DomainsExample.java similarity index 84% rename from examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java rename to examples/java/io/mailtrap/examples/domains/DomainsExample.java index a996231..3e8f1b9 100644 --- a/examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java +++ b/examples/java/io/mailtrap/examples/domains/DomainsExample.java @@ -1,4 +1,4 @@ -package io.mailtrap.examples.sendingdomains; +package io.mailtrap.examples.domains; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; @@ -8,7 +8,7 @@ import static io.mailtrap.model.request.sendingdomains.CreateSendingDomainRequest.SendingDomainData; -public class SendingDomainsExample { +public class DomainsExample { private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); @@ -27,10 +27,10 @@ public static void main(String[] args) { final var createdDomain = client.sendingApi().domains().create(ACCOUNT_ID, createRequest); System.out.println(createdDomain); - final var domainById = client.sendingApi().domains().getSendingDomain(ACCOUNT_ID, createdDomain.getId()); + final var domainById = client.sendingApi().domains().getDomain(ACCOUNT_ID, createdDomain.getId()); System.out.println(domainById); - final var allDomains = client.sendingApi().domains().getSendingDomains(ACCOUNT_ID); + final var allDomains = client.sendingApi().domains().getDomains(ACCOUNT_ID); System.out.println(allDomains); final var updateRequest = new UpdateSendingDomainRequest( @@ -46,8 +46,8 @@ public static void main(String[] args) { System.out.println(updatedDomain); final var sendInstructionsRequest = new SendingDomainsSetupInstructionsRequest(DEVOPS_EMAIL); - client.sendingApi().domains().sendSendingDomainsSetupInstructions(ACCOUNT_ID, createdDomain.getId(), sendInstructionsRequest); + client.sendingApi().domains().sendDomainSetupInstructions(ACCOUNT_ID, createdDomain.getId(), sendInstructionsRequest); - client.sendingApi().domains().deleteSendingDomain(ACCOUNT_ID, createdDomain.getId()); + client.sendingApi().domains().deleteDomain(ACCOUNT_ID, createdDomain.getId()); } } diff --git a/examples/java/io/mailtrap/examples/general/AccountAccessExample.java b/examples/java/io/mailtrap/examples/general/AccountAccessExample.java index fbd79dd..019573c 100644 --- a/examples/java/io/mailtrap/examples/general/AccountAccessExample.java +++ b/examples/java/io/mailtrap/examples/general/AccountAccessExample.java @@ -10,7 +10,7 @@ public class AccountAccessExample { private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); - private static final String INBOX_ID = System.getenv("MAILTRAP_INBOX_ID"); + private static final String SANDBOX_ID = System.getenv("MAILTRAP_SANDBOX_ID"); public static void main(String[] args) { final var config = new MailtrapConfig.Builder() @@ -20,7 +20,7 @@ public static void main(String[] args) { final var client = MailtrapClientFactory.createMailtrapClient(config); final var queryParams = new ListAccountAccessQueryParams(); - queryParams.setInboxIds(List.of(INBOX_ID)); + queryParams.setInboxIds(List.of(SANDBOX_ID)); final var responses = client.generalApi().accountAccesses().listUserAndInviteAccountAccesses(ACCOUNT_ID, queryParams); diff --git a/examples/java/io/mailtrap/examples/testing/AttachmentsExample.java b/examples/java/io/mailtrap/examples/sandbox/AttachmentsExample.java similarity index 51% rename from examples/java/io/mailtrap/examples/testing/AttachmentsExample.java rename to examples/java/io/mailtrap/examples/sandbox/AttachmentsExample.java index 8b10c8f..89d5807 100644 --- a/examples/java/io/mailtrap/examples/testing/AttachmentsExample.java +++ b/examples/java/io/mailtrap/examples/sandbox/AttachmentsExample.java @@ -1,4 +1,4 @@ -package io.mailtrap.examples.testing; +package io.mailtrap.examples.sandbox; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; @@ -14,24 +14,24 @@ public static void main(String[] args) { .token(TOKEN) .build(); - final var testingClient = MailtrapClientFactory.createMailtrapClient(config).testingApi(); + final var sandboxClient = MailtrapClientFactory.createMailtrapClient(config).sandboxApi(); - final var inboxes = testingClient.inboxes().getInboxes(ACCOUNT_ID); + final var sandboxes = sandboxClient.sandboxes().getSandboxes(ACCOUNT_ID); - if (!inboxes.isEmpty()) { - final var firstInbox = inboxes.get(0); + if (!sandboxes.isEmpty()) { + final var firstSandbox = sandboxes.get(0); - final var messages = testingClient.messages().getMessages(ACCOUNT_ID, firstInbox.getId(), ListMessagesQueryParams.empty()); + final var messages = sandboxClient.messages().getMessages(ACCOUNT_ID, firstSandbox.getId(), ListMessagesQueryParams.empty()); if (!messages.isEmpty()) { final var firstMessage = messages.get(0); - final var attachments = testingClient.attachments().getAttachments(ACCOUNT_ID, firstInbox.getId(), firstMessage.getId(), null); + final var attachments = sandboxClient.attachments().getAttachments(ACCOUNT_ID, firstSandbox.getId(), firstMessage.getId(), null); if (!attachments.isEmpty()) { final var firstAttachment = attachments.get(0); - System.out.println(testingClient.attachments().getSingleAttachment(ACCOUNT_ID, firstInbox.getId(), firstMessage.getId(), firstAttachment.getId())); + System.out.println(sandboxClient.attachments().getSingleAttachment(ACCOUNT_ID, firstSandbox.getId(), firstMessage.getId(), firstAttachment.getId())); } } } diff --git a/examples/java/io/mailtrap/examples/testing/BatchExample.java b/examples/java/io/mailtrap/examples/sandbox/BatchExample.java similarity index 85% rename from examples/java/io/mailtrap/examples/testing/BatchExample.java rename to examples/java/io/mailtrap/examples/sandbox/BatchExample.java index 4208df2..e11557c 100644 --- a/examples/java/io/mailtrap/examples/testing/BatchExample.java +++ b/examples/java/io/mailtrap/examples/sandbox/BatchExample.java @@ -1,4 +1,4 @@ -package io.mailtrap.examples.testing; +package io.mailtrap.examples.sandbox; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; @@ -15,12 +15,12 @@ public class BatchExample { private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); private static final String SENDER_EMAIL = "sender@domain.com"; private static final String RECIPIENT_EMAIL = "recipient@domain.com"; - private static final long INBOX_ID = Long.parseLong(System.getenv("MAILTRAP_INBOX_ID")); + private static final long SANDBOX_ID = Long.parseLong(System.getenv("MAILTRAP_SANDBOX_ID")); public static void main(String[] args) { final var config = new MailtrapConfig.Builder() .token(TOKEN) - .inboxId(INBOX_ID) + .sandboxId(SANDBOX_ID) .build(); final var client = MailtrapClientFactory.createMailtrapClient(config); @@ -42,7 +42,7 @@ public static void main(String[] args) { .requests(List.of(mail)) .build(); - System.out.println(client.testingApi().emails().batchSend(batchMail, config.getInboxId())); + System.out.println(client.sandboxApi().emails().batchSend(batchMail, config.getSandboxId())); } } diff --git a/examples/java/io/mailtrap/examples/testing/EmailExample.java b/examples/java/io/mailtrap/examples/sandbox/EmailExample.java similarity index 81% rename from examples/java/io/mailtrap/examples/testing/EmailExample.java rename to examples/java/io/mailtrap/examples/sandbox/EmailExample.java index d64991e..c02b33f 100644 --- a/examples/java/io/mailtrap/examples/testing/EmailExample.java +++ b/examples/java/io/mailtrap/examples/sandbox/EmailExample.java @@ -1,4 +1,4 @@ -package io.mailtrap.examples.testing; +package io.mailtrap.examples.sandbox; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; @@ -13,12 +13,12 @@ public class EmailExample { private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); private static final String SENDER_EMAIL = "sender@domain.com"; private static final String RECIPIENT_EMAIL = "recipient@domain.com"; - private static final long INBOX_ID = Long.parseLong(System.getenv("MAILTRAP_INBOX_ID")); + private static final long SANDBOX_ID = Long.parseLong(System.getenv("MAILTRAP_SANDBOX_ID")); public static void main(String[] args) { final var config = new MailtrapConfig.Builder() .token(TOKEN) - .inboxId(INBOX_ID) + .sandboxId(SANDBOX_ID) .build(); final var client = MailtrapClientFactory.createMailtrapClient(config); @@ -33,7 +33,7 @@ public static void main(String[] args) { )) .build(); - System.out.println(client.testingApi().emails().send(mail, config.getInboxId())); + System.out.println(client.sandboxApi().emails().send(mail, config.getSandboxId())); } } diff --git a/examples/java/io/mailtrap/examples/sandbox/MessagesExample.java b/examples/java/io/mailtrap/examples/sandbox/MessagesExample.java new file mode 100644 index 0000000..4027534 --- /dev/null +++ b/examples/java/io/mailtrap/examples/sandbox/MessagesExample.java @@ -0,0 +1,67 @@ +package io.mailtrap.examples.sandbox; + +import io.mailtrap.config.MailtrapConfig; +import io.mailtrap.factory.MailtrapClientFactory; +import io.mailtrap.model.request.accountaccesses.ListMessagesQueryParams; +import io.mailtrap.model.request.messages.ForwardMessageRequest; +import io.mailtrap.model.request.messages.UpdateMessageRequest; + +public class MessagesExample { + + private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); + private static final String FORWARD_EMAIL_TO = "recipient@domain.com"; + private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); + + public static void main(String[] args) { + final var config = new MailtrapConfig.Builder() + .token(TOKEN) + .build(); + + final var sandboxClient = MailtrapClientFactory.createMailtrapClient(config).sandboxApi(); + + final var sandboxes = sandboxClient.sandboxes().getSandboxes(ACCOUNT_ID); + + if (!sandboxes.isEmpty()) { + long firstSandboxId = sandboxes.get(0).getId(); + + final var messages = sandboxClient.messages().getMessages(ACCOUNT_ID, firstSandboxId, ListMessagesQueryParams.empty()); + + if (!messages.isEmpty()) { + long firstMessageId = messages.get(0).getId(); + + final var getMessage = sandboxClient.messages().getMessage(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(getMessage); + + final var htmlAnalysis = sandboxClient.messages().getMessageHtmlAnalysis(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(htmlAnalysis); + + String htmlMessage = sandboxClient.messages().getHtmlMessage(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(htmlMessage); + + String textMessage = sandboxClient.messages().getTextMessage(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(textMessage); + + String rawMessage = sandboxClient.messages().getRawMessage(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(rawMessage); + + String messageAsEml = sandboxClient.messages().getMessageAsEml(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(messageAsEml); + + String messageSource = sandboxClient.messages().getMessageSource(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(messageSource); + + final var mailHeaders = sandboxClient.messages().getMailHeaders(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(mailHeaders); + + final var spamScore = sandboxClient.messages().getSpamScore(ACCOUNT_ID, firstSandboxId, firstMessageId); + System.out.println(spamScore); + + final var updateMessage = sandboxClient.messages().updateMessage(ACCOUNT_ID, firstSandboxId, firstMessageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); + System.out.println(updateMessage); + + final var forwardMessage = sandboxClient.messages().forwardMessage(ACCOUNT_ID, firstSandboxId, firstMessageId, new ForwardMessageRequest(FORWARD_EMAIL_TO)); + System.out.println(forwardMessage); + } + } + } +} diff --git a/examples/java/io/mailtrap/examples/testing/ProjectsExample.java b/examples/java/io/mailtrap/examples/sandbox/ProjectsExample.java similarity index 73% rename from examples/java/io/mailtrap/examples/testing/ProjectsExample.java rename to examples/java/io/mailtrap/examples/sandbox/ProjectsExample.java index 0dcc6f1..ce4b308 100644 --- a/examples/java/io/mailtrap/examples/testing/ProjectsExample.java +++ b/examples/java/io/mailtrap/examples/sandbox/ProjectsExample.java @@ -1,4 +1,4 @@ -package io.mailtrap.examples.testing; +package io.mailtrap.examples.sandbox; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; @@ -14,18 +14,18 @@ public static void main(String[] args) { .token(TOKEN) .build(); - final var testingClient = MailtrapClientFactory.createMailtrapClient(config).testingApi(); + final var sandboxClient = MailtrapClientFactory.createMailtrapClient(config).sandboxApi(); - final var projects = testingClient.projects().getProjects(ACCOUNT_ID); + final var projects = sandboxClient.projects().getProjects(ACCOUNT_ID); if (!projects.isEmpty()) { long firstProjectId = projects.get(0).getId(); final var updatedProject = - testingClient.projects().updateProject(ACCOUNT_ID, firstProjectId, new ProjectRequest(new ProjectRequest.ProjectData("mock project"))); + sandboxClient.projects().updateProject(ACCOUNT_ID, firstProjectId, new ProjectRequest(new ProjectRequest.ProjectData("mock project"))); System.out.println(updatedProject); - final var deletedProject = testingClient.projects().deleteProject(ACCOUNT_ID, firstProjectId); + final var deletedProject = sandboxClient.projects().deleteProject(ACCOUNT_ID, firstProjectId); System.out.println(deletedProject); } } diff --git a/examples/java/io/mailtrap/examples/sandbox/SandboxesExample.java b/examples/java/io/mailtrap/examples/sandbox/SandboxesExample.java new file mode 100644 index 0000000..4f84318 --- /dev/null +++ b/examples/java/io/mailtrap/examples/sandbox/SandboxesExample.java @@ -0,0 +1,56 @@ +package io.mailtrap.examples.sandbox; + +import io.mailtrap.config.MailtrapConfig; +import io.mailtrap.factory.MailtrapClientFactory; +import io.mailtrap.model.request.inboxes.CreateInboxRequest; +import io.mailtrap.model.request.inboxes.UpdateInboxRequest; + +public class SandboxesExample { + + private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); + private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); + + public static void main(String[] args) { + final var config = new MailtrapConfig.Builder() + .token(TOKEN) + .build(); + + final var sandboxClient = MailtrapClientFactory.createMailtrapClient(config).sandboxApi(); + + final var projects = sandboxClient.projects().getProjects(ACCOUNT_ID); + + if (!projects.isEmpty()) { + final var firstProject = projects.get(0); + + final var createdSandbox = sandboxClient.sandboxes().createSandbox(ACCOUNT_ID, firstProject.getId(), new CreateInboxRequest(new CreateInboxRequest.InboxCreateData("test-sandbox"))); + System.out.println(createdSandbox); + + final var sandboxes = sandboxClient.sandboxes().getSandboxes(ACCOUNT_ID); + + if (!sandboxes.isEmpty()) { + long firstSandboxId = sandboxes.get(0).getId(); + + final var sandboxAttributes = sandboxClient.sandboxes().getSandboxAttributes(ACCOUNT_ID, firstSandboxId); + System.out.println(sandboxAttributes); + + final var sandboxUpdate = sandboxClient.sandboxes().updateSandbox(ACCOUNT_ID, firstSandboxId, new UpdateInboxRequest(new UpdateInboxRequest.InboxUpdateData("updated-test-sandbox", "mock"))); + System.out.println(sandboxUpdate); + + final var markAsRead = sandboxClient.sandboxes().markAsRead(ACCOUNT_ID, firstSandboxId); + System.out.println(markAsRead); + + final var cleanSandbox = sandboxClient.sandboxes().cleanSandbox(ACCOUNT_ID, firstSandboxId); + System.out.println(cleanSandbox); + + final var resetCredentials = sandboxClient.sandboxes().resetCredentials(ACCOUNT_ID, firstSandboxId); + System.out.println(resetCredentials); + + final var enableEmailAddress = sandboxClient.sandboxes().enableEmailAddress(ACCOUNT_ID, firstSandboxId); + System.out.println(enableEmailAddress); + + final var resetEmailAddresses = sandboxClient.sandboxes().resetEmailAddresses(ACCOUNT_ID, firstSandboxId); + System.out.println(resetEmailAddresses); + } + } + } +} diff --git a/examples/java/io/mailtrap/examples/testing/InboxesExample.java b/examples/java/io/mailtrap/examples/testing/InboxesExample.java deleted file mode 100644 index 6787226..0000000 --- a/examples/java/io/mailtrap/examples/testing/InboxesExample.java +++ /dev/null @@ -1,56 +0,0 @@ -package io.mailtrap.examples.testing; - -import io.mailtrap.config.MailtrapConfig; -import io.mailtrap.factory.MailtrapClientFactory; -import io.mailtrap.model.request.inboxes.CreateInboxRequest; -import io.mailtrap.model.request.inboxes.UpdateInboxRequest; - -public class InboxesExample { - - private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); - private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); - - public static void main(String[] args) { - final var config = new MailtrapConfig.Builder() - .token(TOKEN) - .build(); - - final var testingClient = MailtrapClientFactory.createMailtrapClient(config).testingApi(); - - final var projects = testingClient.projects().getProjects(ACCOUNT_ID); - - if (!projects.isEmpty()) { - final var firstProject = projects.get(0); - - final var createdInbox = testingClient.inboxes().createInbox(ACCOUNT_ID, firstProject.getId(), new CreateInboxRequest(new CreateInboxRequest.InboxCreateData("test-inbox"))); - System.out.println(createdInbox); - - final var inboxes = testingClient.inboxes().getInboxes(ACCOUNT_ID); - - if (!inboxes.isEmpty()) { - long firstInboxId = inboxes.get(0).getId(); - - final var inboxAttributes = testingClient.inboxes().getInboxAttributes(ACCOUNT_ID, firstInboxId); - System.out.println(inboxAttributes); - - final var inboxUpdate = testingClient.inboxes().updateInbox(ACCOUNT_ID, firstInboxId, new UpdateInboxRequest(new UpdateInboxRequest.InboxUpdateData("updated-test-inbox", "mock"))); - System.out.println(inboxUpdate); - - final var markAsRead = testingClient.inboxes().markAsRead(ACCOUNT_ID, firstInboxId); - System.out.println(markAsRead); - - final var cleanInbox = testingClient.inboxes().cleanInbox(ACCOUNT_ID, firstInboxId); - System.out.println(cleanInbox); - - final var resetCredentials = testingClient.inboxes().resetCredentials(ACCOUNT_ID, firstInboxId); - System.out.println(resetCredentials); - - final var enableEmailAddress = testingClient.inboxes().enableEmailAddress(ACCOUNT_ID, firstInboxId); - System.out.println(enableEmailAddress); - - final var resetEmailAddresses = testingClient.inboxes().resetEmailAddresses(ACCOUNT_ID, firstInboxId); - System.out.println(resetEmailAddresses); - } - } - } -} diff --git a/examples/java/io/mailtrap/examples/testing/MessagesExample.java b/examples/java/io/mailtrap/examples/testing/MessagesExample.java deleted file mode 100644 index 963ce50..0000000 --- a/examples/java/io/mailtrap/examples/testing/MessagesExample.java +++ /dev/null @@ -1,67 +0,0 @@ -package io.mailtrap.examples.testing; - -import io.mailtrap.config.MailtrapConfig; -import io.mailtrap.factory.MailtrapClientFactory; -import io.mailtrap.model.request.accountaccesses.ListMessagesQueryParams; -import io.mailtrap.model.request.messages.ForwardMessageRequest; -import io.mailtrap.model.request.messages.UpdateMessageRequest; - -public class MessagesExample { - - private static final String TOKEN = System.getenv("MAILTRAP_API_KEY"); - private static final String FORWARD_EMAIL_TO = "recipient@domain.com"; - private static final long ACCOUNT_ID = Long.parseLong(System.getenv("MAILTRAP_ACCOUNT_ID")); - - public static void main(String[] args) { - final var config = new MailtrapConfig.Builder() - .token(TOKEN) - .build(); - - final var testingClient = MailtrapClientFactory.createMailtrapClient(config).testingApi(); - - final var inboxes = testingClient.inboxes().getInboxes(ACCOUNT_ID); - - if (!inboxes.isEmpty()) { - long firstInboxId = inboxes.get(0).getId(); - - final var messages = testingClient.messages().getMessages(ACCOUNT_ID, firstInboxId, ListMessagesQueryParams.empty()); - - if (!messages.isEmpty()) { - long firstMessageId = messages.get(0).getId(); - - final var getMessage = testingClient.messages().getMessage(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(getMessage); - - final var htmlAnalysis = testingClient.messages().getMessageHtmlAnalysis(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(htmlAnalysis); - - String htmlMessage = testingClient.messages().getHtmlMessage(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(htmlMessage); - - String textMessage = testingClient.messages().getTextMessage(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(textMessage); - - String rawMessage = testingClient.messages().getRawMessage(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(rawMessage); - - String messageAsEml = testingClient.messages().getMessageAsEml(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(messageAsEml); - - String messageSource = testingClient.messages().getMessageSource(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(messageSource); - - final var mailHeaders = testingClient.messages().getMailHeaders(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(mailHeaders); - - final var spamScore = testingClient.messages().getSpamScore(ACCOUNT_ID, firstInboxId, firstMessageId); - System.out.println(spamScore); - - final var updateMessage = testingClient.messages().updateMessage(ACCOUNT_ID, firstInboxId, firstMessageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); - System.out.println(updateMessage); - - final var forwardMessage = testingClient.messages().forwardMessage(ACCOUNT_ID, firstInboxId, firstMessageId, new ForwardMessageRequest(FORWARD_EMAIL_TO)); - System.out.println(forwardMessage); - } - } - } -} diff --git a/src/main/java/io/mailtrap/Constants.java b/src/main/java/io/mailtrap/Constants.java index d263b07..57b1e48 100644 --- a/src/main/java/io/mailtrap/Constants.java +++ b/src/main/java/io/mailtrap/Constants.java @@ -7,7 +7,14 @@ public final class Constants { private Constants() { } - public static final String EMAIL_TESTING_SEND_HOST = "https://sandbox.api.mailtrap.io"; + public static final String EMAIL_SANDBOX_SEND_HOST = "https://sandbox.api.mailtrap.io"; + + /** + * @deprecated Use {@link #EMAIL_SANDBOX_SEND_HOST} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public static final String EMAIL_TESTING_SEND_HOST = EMAIL_SANDBOX_SEND_HOST; + public static final String EMAIL_SENDING_SEND_HOST = "https://send.api.mailtrap.io"; public static final String BULK_SENDING_HOST = "https://bulk.api.mailtrap.io"; public static final String GENERAL_HOST = "https://mailtrap.io"; diff --git a/src/main/java/io/mailtrap/api/accountaccesses/AccountAccesses.java b/src/main/java/io/mailtrap/api/accountaccesses/AccountAccesses.java index e4588e7..23fd390 100644 --- a/src/main/java/io/mailtrap/api/accountaccesses/AccountAccesses.java +++ b/src/main/java/io/mailtrap/api/accountaccesses/AccountAccesses.java @@ -7,7 +7,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with account accesses + * Interface representing the Mailtrap General API for interaction with account accesses */ public interface AccountAccesses { diff --git a/src/main/java/io/mailtrap/api/accounts/Accounts.java b/src/main/java/io/mailtrap/api/accounts/Accounts.java index 59fed04..2e79c8e 100644 --- a/src/main/java/io/mailtrap/api/accounts/Accounts.java +++ b/src/main/java/io/mailtrap/api/accounts/Accounts.java @@ -5,7 +5,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with accounts + * Interface representing the Mailtrap General API for interaction with accounts */ public interface Accounts { diff --git a/src/main/java/io/mailtrap/api/attachments/Attachments.java b/src/main/java/io/mailtrap/api/attachments/Attachments.java index de001ea..bafff91 100644 --- a/src/main/java/io/mailtrap/api/attachments/Attachments.java +++ b/src/main/java/io/mailtrap/api/attachments/Attachments.java @@ -6,7 +6,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with email message attachments. + * Interface representing the Mailtrap Sandbox API for interaction with email message attachments. */ public interface Attachments { @@ -14,22 +14,22 @@ public interface Attachments { * Get message single attachment by ID * * @param accountId - unique account ID - * @param inboxId - unique inbox ID + * @param sandboxId - unique sandbox ID * @param messageId - unique message ID * @param attachmentId - unique attachment ID * @return attachment details and download path */ - AttachmentResponse getSingleAttachment(long accountId, long inboxId, long messageId, long attachmentId); + AttachmentResponse getSingleAttachment(long accountId, long sandboxId, long messageId, long attachmentId); /** - * Get message attachments by inboxId and messageId + * Get message attachments by sandboxId and messageId * * @param accountId - unique account ID - * @param inboxId - unique inbox ID + * @param sandboxId - unique sandbox ID * @param messageId - unique message ID * @param attachmentType - attachment type; optional query param * @return attachments with their details and download paths */ - List getAttachments(long accountId, long inboxId, long messageId, @Nullable String attachmentType); + List getAttachments(long accountId, long sandboxId, long messageId, @Nullable String attachmentType); } diff --git a/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java b/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java index 50fc47c..3a4c45c 100644 --- a/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java +++ b/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java @@ -19,20 +19,20 @@ public AttachmentsImpl(final MailtrapConfig config) { } @Override - public AttachmentResponse getSingleAttachment(final long accountId, final long inboxId, final long messageId, final long attachmentId) { + public AttachmentResponse getSingleAttachment(final long accountId, final long sandboxId, final long messageId, final long attachmentId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments/%d", accountId, inboxId, messageId, attachmentId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments/%d", accountId, sandboxId, messageId, attachmentId), new RequestData(), AttachmentResponse.class); } @Override - public List getAttachments(final long accountId, final long inboxId, final long messageId, final String attachmentType) { + public List getAttachments(final long accountId, final long sandboxId, final long messageId, final String attachmentType) { final var queryParams = RequestData.buildQueryParams( entry("attachment_type", Optional.ofNullable(attachmentType))); return httpClient.getList( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments", accountId, sandboxId, messageId), new RequestData(queryParams), AttachmentResponse.class); } diff --git a/src/main/java/io/mailtrap/api/billing/Billing.java b/src/main/java/io/mailtrap/api/billing/Billing.java index 7e2d0d3..e9f3857 100644 --- a/src/main/java/io/mailtrap/api/billing/Billing.java +++ b/src/main/java/io/mailtrap/api/billing/Billing.java @@ -3,7 +3,7 @@ import io.mailtrap.model.response.billing.BillingResponse; /** - * Interface representing the Mailtrap Testing API for interaction with billing + * Interface representing the Mailtrap General API for interaction with billing */ public interface Billing { diff --git a/src/main/java/io/mailtrap/api/companyinfo/CompanyInfo.java b/src/main/java/io/mailtrap/api/companyinfo/CompanyInfo.java index 4b11dde..fdd1c7a 100644 --- a/src/main/java/io/mailtrap/api/companyinfo/CompanyInfo.java +++ b/src/main/java/io/mailtrap/api/companyinfo/CompanyInfo.java @@ -7,29 +7,29 @@ public interface CompanyInfo { /** - * Get the company info associated with a sending domain + * Get the company info associated with a domain * - * @param sendingDomainId unique domain ID - * @return company info of the sending domain + * @param domainId unique domain ID + * @return company info of the domain */ - CompanyInfoResponse getCompanyInfo(long sendingDomainId); + CompanyInfoResponse getCompanyInfo(long domainId); /** - * Create the company info for a sending domain. Company info is required for + * Create the company info for a domain. Company info is required for * domain compliance verification. * - * @param sendingDomainId unique domain ID - * @param request request data + * @param domainId unique domain ID + * @param request request data * @return created company info */ - CompanyInfoResponse createCompanyInfo(long sendingDomainId, CreateCompanyInfoRequest request); + CompanyInfoResponse createCompanyInfo(long domainId, CreateCompanyInfoRequest request); /** - * Update the company info for a sending domain + * Update the company info for a domain * - * @param sendingDomainId unique domain ID - * @param request request data, only the fields set are sent + * @param domainId unique domain ID + * @param request request data, only the fields set are sent * @return updated company info */ - CompanyInfoResponse updateCompanyInfo(long sendingDomainId, UpdateCompanyInfoRequest request); + CompanyInfoResponse updateCompanyInfo(long domainId, UpdateCompanyInfoRequest request); } diff --git a/src/main/java/io/mailtrap/api/companyinfo/CompanyInfoImpl.java b/src/main/java/io/mailtrap/api/companyinfo/CompanyInfoImpl.java index a191d06..14807d6 100644 --- a/src/main/java/io/mailtrap/api/companyinfo/CompanyInfoImpl.java +++ b/src/main/java/io/mailtrap/api/companyinfo/CompanyInfoImpl.java @@ -16,18 +16,18 @@ public CompanyInfoImpl(final MailtrapConfig config) { } @Override - public CompanyInfoResponse getCompanyInfo(final long sendingDomainId) { + public CompanyInfoResponse getCompanyInfo(final long domainId) { return httpClient.get( - companyInfoPath(sendingDomainId), + companyInfoPath(domainId), new RequestData(), CompanyInfoResponse.class ); } @Override - public CompanyInfoResponse createCompanyInfo(final long sendingDomainId, final CreateCompanyInfoRequest request) { + public CompanyInfoResponse createCompanyInfo(final long domainId, final CreateCompanyInfoRequest request) { return httpClient.post( - companyInfoPath(sendingDomainId), + companyInfoPath(domainId), request, new RequestData(), CompanyInfoResponse.class @@ -35,16 +35,16 @@ public CompanyInfoResponse createCompanyInfo(final long sendingDomainId, final C } @Override - public CompanyInfoResponse updateCompanyInfo(final long sendingDomainId, final UpdateCompanyInfoRequest request) { + public CompanyInfoResponse updateCompanyInfo(final long domainId, final UpdateCompanyInfoRequest request) { return httpClient.patch( - companyInfoPath(sendingDomainId), + companyInfoPath(domainId), request, new RequestData(), CompanyInfoResponse.class ); } - private String companyInfoPath(final long sendingDomainId) { - return String.format(apiHost + "/api/domains/%d/company_info", sendingDomainId); + private String companyInfoPath(final long domainId) { + return String.format(apiHost + "/api/domains/%d/company_info", domainId); } } diff --git a/src/main/java/io/mailtrap/api/inboxes/Inboxes.java b/src/main/java/io/mailtrap/api/inboxes/Inboxes.java index 30cf4ad..dbcae5c 100644 --- a/src/main/java/io/mailtrap/api/inboxes/Inboxes.java +++ b/src/main/java/io/mailtrap/api/inboxes/Inboxes.java @@ -7,98 +7,146 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with inboxes + * Interface representing the Mailtrap Sandbox API for interaction with sandboxes */ public interface Inboxes { /** - * Create an inbox in a project + * Create a sandbox in a project * * @param accountId unique account ID * @param projectId unique project ID - * @param request inbox request data - * @return the newly created inbox with its attributes + * @param request sandbox request data + * @return the newly created sandbox with its attributes */ - InboxResponse createInbox(long accountId, long projectId, CreateInboxRequest request); + InboxResponse createSandbox(long accountId, long projectId, CreateInboxRequest request); /** - * Get inbox attributes by inbox ID + * Get sandbox attributes by sandbox ID * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox */ - InboxResponse getInboxAttributes(long accountId, long inboxId); + InboxResponse getSandboxAttributes(long accountId, long sandboxId); /** - * Delete an inbox with all its emails + * Delete a sandbox with all its emails * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the deleted inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the deleted sandbox */ - InboxResponse deleteInbox(long accountId, long inboxId); + InboxResponse deleteSandbox(long accountId, long sandboxId); /** - * Update inbox name, inbox email username + * Update sandbox name, sandbox email username * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param request request data - * @return the attributes of the updated inbox + * @return the attributes of the updated sandbox */ - InboxResponse updateInbox(long accountId, long inboxId, UpdateInboxRequest request); + InboxResponse updateSandbox(long accountId, long sandboxId, UpdateInboxRequest request); /** - * Delete all messages (emails) from inbox + * Delete all messages (emails) from sandbox * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox. permissions returns the permissions of the token for the inbox. + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox. permissions returns the permissions of the token for the sandbox. */ - InboxResponse cleanInbox(long accountId, long inboxId); + InboxResponse cleanSandbox(long accountId, long sandboxId); /** - * Mark all messages in the inbox as read + * Mark all messages in the sandbox as read * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox. permissions returns the permissions of the token for the inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox. permissions returns the permissions of the token for the sandbox */ - InboxResponse markAsRead(long accountId, long inboxId); + InboxResponse markAsRead(long accountId, long sandboxId); /** - * Reset SMTP credentials of the inbox + * Reset SMTP credentials of the sandbox * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox. permissions returns the permissions of the token for the inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox. permissions returns the permissions of the token for the sandbox */ - InboxResponse resetCredentials(long accountId, long inboxId); + InboxResponse resetCredentials(long accountId, long sandboxId); /** - * Turn the email address of the inbox on/off + * Turn the email address of the sandbox on/off * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox. permissions returns the permissions of the token for the inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox. permissions returns the permissions of the token for the sandbox */ - InboxResponse enableEmailAddress(long accountId, long inboxId); + InboxResponse enableEmailAddress(long accountId, long sandboxId); /** - * Reset username of email address per inbox + * Reset username of email address per sandbox * * @param accountId unique account ID - * @param inboxId unique inbox ID - * @return the attributes of the inbox. permissions returns the permissions of the token for the inbox + * @param sandboxId unique sandbox ID + * @return the attributes of the sandbox. permissions returns the permissions of the token for the sandbox */ - InboxResponse resetEmailAddresses(long accountId, long inboxId); + InboxResponse resetEmailAddresses(long accountId, long sandboxId); /** - * Get a list of inboxes + * Get a list of sandboxes * * @param accountId unique account ID - * @return the list of inboxes in the account to which the API token has access. permissions returns the permissions of the token for the inbox + * @return the list of sandboxes in the account to which the API token has access. permissions returns the permissions of the token for the sandbox */ - List getInboxes(long accountId); + List getSandboxes(long accountId); + + /** + * @deprecated Use {@link #createSandbox(long, long, CreateInboxRequest)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default InboxResponse createInbox(final long accountId, final long projectId, final CreateInboxRequest request) { + return createSandbox(accountId, projectId, request); + } + + /** + * @deprecated Use {@link #getSandboxAttributes(long, long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default InboxResponse getInboxAttributes(final long accountId, final long inboxId) { + return getSandboxAttributes(accountId, inboxId); + } + + /** + * @deprecated Use {@link #deleteSandbox(long, long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default InboxResponse deleteInbox(final long accountId, final long inboxId) { + return deleteSandbox(accountId, inboxId); + } + + /** + * @deprecated Use {@link #updateSandbox(long, long, UpdateInboxRequest)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default InboxResponse updateInbox(final long accountId, final long inboxId, final UpdateInboxRequest request) { + return updateSandbox(accountId, inboxId, request); + } + + /** + * @deprecated Use {@link #cleanSandbox(long, long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default InboxResponse cleanInbox(final long accountId, final long inboxId) { + return cleanSandbox(accountId, inboxId); + } + + /** + * @deprecated Use {@link #getSandboxes(long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default List getInboxes(final long accountId) { + return getSandboxes(accountId); + } } diff --git a/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java b/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java index 67d22f7..af5aa43 100644 --- a/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java +++ b/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java @@ -19,7 +19,7 @@ public InboxesImpl(final MailtrapConfig config, final MailtrapValidator validato } @Override - public InboxResponse createInbox(final long accountId, final long projectId, final CreateInboxRequest request) { + public InboxResponse createSandbox(final long accountId, final long projectId, final CreateInboxRequest request) { validateRequestBodyAndThrowException(request); @@ -32,30 +32,30 @@ public InboxResponse createInbox(final long accountId, final long projectId, fin } @Override - public InboxResponse getInboxAttributes(final long accountId, final long inboxId) { + public InboxResponse getSandboxAttributes(final long accountId, final long sandboxId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, sandboxId), new RequestData(), InboxResponse.class ); } @Override - public InboxResponse deleteInbox(final long accountId, final long inboxId) { + public InboxResponse deleteSandbox(final long accountId, final long sandboxId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, sandboxId), new RequestData(), InboxResponse.class ); } @Override - public InboxResponse updateInbox(final long accountId, final long inboxId, final UpdateInboxRequest request) { + public InboxResponse updateSandbox(final long accountId, final long sandboxId, final UpdateInboxRequest request) { validateRequestBodyAndThrowException(request); return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, sandboxId), request, new RequestData(), InboxResponse.class @@ -63,9 +63,9 @@ public InboxResponse updateInbox(final long accountId, final long inboxId, final } @Override - public InboxResponse cleanInbox(final long accountId, final long inboxId) { + public InboxResponse cleanSandbox(final long accountId, final long sandboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/clean", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/clean", accountId, sandboxId), null, new RequestData(), InboxResponse.class @@ -73,9 +73,9 @@ public InboxResponse cleanInbox(final long accountId, final long inboxId) { } @Override - public InboxResponse markAsRead(final long accountId, final long inboxId) { + public InboxResponse markAsRead(final long accountId, final long sandboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/all_read", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/all_read", accountId, sandboxId), null, new RequestData(), InboxResponse.class @@ -83,9 +83,9 @@ public InboxResponse markAsRead(final long accountId, final long inboxId) { } @Override - public InboxResponse resetCredentials(final long accountId, final long inboxId) { + public InboxResponse resetCredentials(final long accountId, final long sandboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_credentials", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_credentials", accountId, sandboxId), null, new RequestData(), InboxResponse.class @@ -93,9 +93,9 @@ public InboxResponse resetCredentials(final long accountId, final long inboxId) } @Override - public InboxResponse enableEmailAddress(final long accountId, final long inboxId) { + public InboxResponse enableEmailAddress(final long accountId, final long sandboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/toggle_email_username", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/toggle_email_username", accountId, sandboxId), null, new RequestData(), InboxResponse.class @@ -103,9 +103,9 @@ public InboxResponse enableEmailAddress(final long accountId, final long inboxId } @Override - public InboxResponse resetEmailAddresses(final long accountId, final long inboxId) { + public InboxResponse resetEmailAddresses(final long accountId, final long sandboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_email_username", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_email_username", accountId, sandboxId), null, new RequestData(), InboxResponse.class @@ -113,7 +113,7 @@ public InboxResponse resetEmailAddresses(final long accountId, final long inboxI } @Override - public List getInboxes(final long accountId) { + public List getSandboxes(final long accountId) { return httpClient.getList( String.format(apiHost + "/api/accounts/%d/inboxes", accountId), new RequestData(), diff --git a/src/main/java/io/mailtrap/api/marketingstats/MarketingStatsFilter.java b/src/main/java/io/mailtrap/api/marketingstats/MarketingStatsFilter.java index a1c7cf2..d575e80 100644 --- a/src/main/java/io/mailtrap/api/marketingstats/MarketingStatsFilter.java +++ b/src/main/java/io/mailtrap/api/marketingstats/MarketingStatsFilter.java @@ -29,8 +29,8 @@ public class MarketingStatsFilter { private String endDate; /** - * IDs of the sending domains to include, as returned by the Sending Domains API. If omitted, - * every sending domain of the account is included. + * IDs of the domains to include, as returned by the Domains API. If omitted, + * every domain of the account is included. */ private List sendingDomainIds; diff --git a/src/main/java/io/mailtrap/api/messages/Messages.java b/src/main/java/io/mailtrap/api/messages/Messages.java index 865f0d6..9fc8999 100644 --- a/src/main/java/io/mailtrap/api/messages/Messages.java +++ b/src/main/java/io/mailtrap/api/messages/Messages.java @@ -8,7 +8,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with email messages + * Interface representing the Mailtrap Sandbox API for interaction with email messages */ public interface Messages { @@ -16,130 +16,130 @@ public interface Messages { * Get email message by ID * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return email message with its attributes */ - MessageResponse getMessage(long accountId, long inboxId, long messageId); + MessageResponse getMessage(long accountId, long sandboxId, long messageId); /** * Update message attributes * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @param request attributes to update * @return email message with its updated attributes */ - MessageResponse updateMessage(long accountId, long inboxId, long messageId, UpdateMessageRequest request); + MessageResponse updateMessage(long accountId, long sandboxId, long messageId, UpdateMessageRequest request); /** - * Delete message from inbox + * Delete message from sandbox * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return attributes of the deleted message */ - MessageResponse deleteMessage(long accountId, long inboxId, long messageId); + MessageResponse deleteMessage(long accountId, long sandboxId, long messageId); /** * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param queryParams additional query parameters * @return list of messages */ - List getMessages(long accountId, long inboxId, ListMessagesQueryParams queryParams); + List getMessages(long accountId, long sandboxId, ListMessagesQueryParams queryParams); /** * Forward message to an email address. The email address must be confirmed by the recipient in advance * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @param request email where to forward message * @return confirmation about forwarding */ - ForwardMessageResponse forwardMessage(long accountId, long inboxId, long messageId, ForwardMessageRequest request); + ForwardMessageResponse forwardMessage(long accountId, long sandboxId, long messageId, ForwardMessageRequest request); /** * Get a brief spam report by message ID * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return message spam analysis report */ - MessageSpamScoreResponse getSpamScore(long accountId, long inboxId, long messageId); + MessageSpamScoreResponse getSpamScore(long accountId, long sandboxId, long messageId); /** * Get a brief HTML report by message ID * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return message HTML analysis report */ - MessageHtmlAnalysisResponse getMessageHtmlAnalysis(long accountId, long inboxId, long messageId); + MessageHtmlAnalysisResponse getMessageHtmlAnalysis(long accountId, long sandboxId, long messageId); /** * Get text email body, if it exists * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return message body in txt format */ - String getTextMessage(long accountId, long inboxId, long messageId); + String getTextMessage(long accountId, long sandboxId, long messageId); /** * Get raw email body * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return raw message body */ - String getRawMessage(long accountId, long inboxId, long messageId); + String getRawMessage(long accountId, long sandboxId, long messageId); /** * Get HTML source of email * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return HTML source of a message */ - String getMessageSource(long accountId, long inboxId, long messageId); + String getMessageSource(long accountId, long sandboxId, long messageId); /** * Get formatted HTML email body. Not applicable for plain text emails * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return message body in html format */ - String getHtmlMessage(long accountId, long inboxId, long messageId); + String getHtmlMessage(long accountId, long sandboxId, long messageId); /** * Get email message in .eml format * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return .eml of the message */ - String getMessageAsEml(long accountId, long inboxId, long messageId); + String getMessageAsEml(long accountId, long sandboxId, long messageId); /** * Get mail headers of a message * * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param sandboxId unique sandbox ID * @param messageId unique message ID * @return mail headers of the message */ - MessageHeadersResponse getMailHeaders(long accountId, long inboxId, long messageId); + MessageHeadersResponse getMailHeaders(long accountId, long sandboxId, long messageId); } diff --git a/src/main/java/io/mailtrap/api/messages/MessagesImpl.java b/src/main/java/io/mailtrap/api/messages/MessagesImpl.java index c0b5a4c..5ce4eb5 100644 --- a/src/main/java/io/mailtrap/api/messages/MessagesImpl.java +++ b/src/main/java/io/mailtrap/api/messages/MessagesImpl.java @@ -23,18 +23,18 @@ public MessagesImpl(final MailtrapConfig config) { } @Override - public MessageResponse getMessage(final long accountId, final long inboxId, final long messageId) { + public MessageResponse getMessage(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, sandboxId, messageId), new RequestData(), MessageResponse.class ); } @Override - public MessageResponse updateMessage(final long accountId, final long inboxId, final long messageId, final UpdateMessageRequest request) { + public MessageResponse updateMessage(final long accountId, final long sandboxId, final long messageId, final UpdateMessageRequest request) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, sandboxId, messageId), request, new RequestData(), MessageResponse.class @@ -42,32 +42,32 @@ public MessageResponse updateMessage(final long accountId, final long inboxId, f } @Override - public MessageResponse deleteMessage(final long accountId, final long inboxId, final long messageId) { + public MessageResponse deleteMessage(final long accountId, final long sandboxId, final long messageId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, sandboxId, messageId), new RequestData(), MessageResponse.class ); } @Override - public List getMessages(final long accountId, final long inboxId, @NonNull final ListMessagesQueryParams listMessagesQueryParams) { + public List getMessages(final long accountId, final long sandboxId, @NonNull final ListMessagesQueryParams listMessagesQueryParams) { final var queryParams = RequestData.buildQueryParams( entry("last_id", Optional.ofNullable(listMessagesQueryParams.getLastId())), entry("page", Optional.ofNullable(listMessagesQueryParams.getPage())), entry("search", Optional.ofNullable(listMessagesQueryParams.getSearch()))); return httpClient.getList( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages", accountId, inboxId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages", accountId, sandboxId), new RequestData(queryParams), MessageResponse.class ); } @Override - public ForwardMessageResponse forwardMessage(final long accountId, final long inboxId, final long messageId, final ForwardMessageRequest request) { + public ForwardMessageResponse forwardMessage(final long accountId, final long sandboxId, final long messageId, final ForwardMessageRequest request) { return httpClient.post( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/forward", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/forward", accountId, sandboxId, messageId), request, new RequestData(), ForwardMessageResponse.class @@ -75,72 +75,72 @@ public ForwardMessageResponse forwardMessage(final long accountId, final long in } @Override - public MessageSpamScoreResponse getSpamScore(final long accountId, final long inboxId, final long messageId) { + public MessageSpamScoreResponse getSpamScore(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/spam_report", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/spam_report", accountId, sandboxId, messageId), new RequestData(), MessageSpamScoreResponse.class ); } @Override - public MessageHtmlAnalysisResponse getMessageHtmlAnalysis(final long accountId, final long inboxId, final long messageId) { + public MessageHtmlAnalysisResponse getMessageHtmlAnalysis(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/analyze", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/analyze", accountId, sandboxId, messageId), new RequestData(), MessageHtmlAnalysisResponse.class ); } @Override - public String getTextMessage(final long accountId, final long inboxId, final long messageId) { + public String getTextMessage(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.txt", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.txt", accountId, sandboxId, messageId), new RequestData(), String.class ); } @Override - public String getRawMessage(final long accountId, final long inboxId, final long messageId) { + public String getRawMessage(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.raw", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.raw", accountId, sandboxId, messageId), new RequestData(), String.class ); } @Override - public String getMessageSource(final long accountId, final long inboxId, final long messageId) { + public String getMessageSource(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.htmlsource", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.htmlsource", accountId, sandboxId, messageId), new RequestData(), String.class ); } @Override - public String getHtmlMessage(final long accountId, final long inboxId, final long messageId) { + public String getHtmlMessage(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.html", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.html", accountId, sandboxId, messageId), new RequestData(), String.class ); } @Override - public String getMessageAsEml(final long accountId, final long inboxId, final long messageId) { + public String getMessageAsEml(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.eml", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.eml", accountId, sandboxId, messageId), new RequestData(), String.class ); } @Override - public MessageHeadersResponse getMailHeaders(final long accountId, final long inboxId, final long messageId) { + public MessageHeadersResponse getMailHeaders(final long accountId, final long sandboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/mail_headers", accountId, inboxId, messageId), + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/mail_headers", accountId, sandboxId, messageId), new RequestData(), MessageHeadersResponse.class ); diff --git a/src/main/java/io/mailtrap/api/permissions/Permissions.java b/src/main/java/io/mailtrap/api/permissions/Permissions.java index 855ef87..40d42dd 100644 --- a/src/main/java/io/mailtrap/api/permissions/Permissions.java +++ b/src/main/java/io/mailtrap/api/permissions/Permissions.java @@ -7,7 +7,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with permissions + * Interface representing the Mailtrap General API for interaction with permissions */ public interface Permissions { diff --git a/src/main/java/io/mailtrap/api/projects/Projects.java b/src/main/java/io/mailtrap/api/projects/Projects.java index 6f6fba3..fc0dc03 100644 --- a/src/main/java/io/mailtrap/api/projects/Projects.java +++ b/src/main/java/io/mailtrap/api/projects/Projects.java @@ -7,7 +7,7 @@ import java.util.List; /** - * Interface representing the Mailtrap Testing API for interaction with projects + * Interface representing the Mailtrap Sandbox API for interaction with projects */ public interface Projects { @@ -21,19 +21,19 @@ public interface Projects { ProjectsResponse createProject(long accountId, ProjectRequest request); /** - * List projects and their inboxes to which the API token has access. + * List projects and their sandboxes to which the API token has access. * * @param accountId unique account ID - * @return the list of projects with nested inboxes. permissions returns the permissions of the token for the project + * @return the list of projects with nested sandboxes. permissions returns the permissions of the token for the project */ List getProjects(long accountId); /** - * Get the project and its inboxes + * Get the project and its sandboxes * * @param accountId unique account ID * @param projectId unique project ID - * @return project attributes and inboxes of this project with their attributes. permissions returns the permissions of the token for the project + * @return project attributes and sandboxes of this project with their attributes. permissions returns the permissions of the token for the project */ ProjectsResponse getProject(long accountId, long projectId); @@ -43,12 +43,12 @@ public interface Projects { * @param accountId unique account ID * @param projectId unique project ID * @param updateRequest request data - * @return project attributes and inboxes of this project with their attributes. permissions returns the permissions of the token for the project + * @return project attributes and sandboxes of this project with their attributes. permissions returns the permissions of the token for the project */ ProjectsResponse updateProject(long accountId, long projectId, ProjectRequest updateRequest); /** - * Delete project and its inboxes + * Delete project and its sandboxes * * @param accountId unique account ID * @param projectId unique project ID diff --git a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomains.java b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomains.java index a072f07..9f51e65 100644 --- a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomains.java +++ b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomains.java @@ -7,58 +7,94 @@ import java.util.List; +/** + * Interface representing the Mailtrap Sending API for interaction with domains + */ public interface SendingDomains { /** - * Create a sending domain + * Create a domain * * @param accountId unique account ID * @param request request data - * @return Attributes of created sending domain + * @return Attributes of created domain */ SendingDomainsResponse create(long accountId, CreateSendingDomainRequest request); /** - * Get sending domains and their statuses + * Get domains and their statuses * * @param accountId unique account ID * @return domains with their attributes, DNS records, statuses */ - List getSendingDomains(long accountId); + List getDomains(long accountId); /** * Get domain data and it's status * - * @param accountId unique account ID - * @param sendingDomainId unique domain ID + * @param accountId unique account ID + * @param domainId unique domain ID * @return domain attributes, DNS records, status */ - SendingDomainsResponse getSendingDomain(long accountId, long sendingDomainId); + SendingDomainsResponse getDomain(long accountId, long domainId); /** - * Update configuration settings for a sending domain + * Update configuration settings for a domain * - * @param accountId unique account ID - * @param sendingDomainId unique domain ID - * @param request request data, only the fields set are sent + * @param accountId unique account ID + * @param domainId unique domain ID + * @param request request data, only the fields set are sent * @return updated domain attributes, DNS records, status */ - SendingDomainsResponse update(long accountId, long sendingDomainId, UpdateSendingDomainRequest request); + SendingDomainsResponse update(long accountId, long domainId, UpdateSendingDomainRequest request); /** - * Send sending domain setup instructions + * Send domain setup instructions * - * @param accountId unique account ID - * @param sendingDomainId unique domain ID - * @param request request data + * @param accountId unique account ID + * @param domainId unique domain ID + * @param request request data */ - void sendSendingDomainsSetupInstructions(long accountId, long sendingDomainId, SendingDomainsSetupInstructionsRequest request); + void sendDomainSetupInstructions(long accountId, long domainId, SendingDomainsSetupInstructionsRequest request); /** - * Delete a sending domain + * Delete a domain * - * @param accountId unique account ID - * @param sendingDomainId unique domain ID + * @param accountId unique account ID + * @param domainId unique domain ID + */ + void deleteDomain(long accountId, long domainId); + + /** + * @deprecated Use {@link #getDomains(long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default List getSendingDomains(final long accountId) { + return getDomains(accountId); + } + + /** + * @deprecated Use {@link #getDomain(long, long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default SendingDomainsResponse getSendingDomain(final long accountId, final long sendingDomainId) { + return getDomain(accountId, sendingDomainId); + } + + /** + * @deprecated Use {@link #sendDomainSetupInstructions(long, long, SendingDomainsSetupInstructionsRequest)} instead. + * Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + default void sendSendingDomainsSetupInstructions(final long accountId, final long sendingDomainId, final SendingDomainsSetupInstructionsRequest request) { + sendDomainSetupInstructions(accountId, sendingDomainId, request); + } + + /** + * @deprecated Use {@link #deleteDomain(long, long)} instead. Will be removed in a future major release. */ - void deleteSendingDomain(long accountId, long sendingDomainId); + @Deprecated(since = "1.11.0") + default void deleteSendingDomain(final long accountId, final long sendingDomainId) { + deleteDomain(accountId, sendingDomainId); + } } diff --git a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java index 8917702..ff21712 100644 --- a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java +++ b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java @@ -29,7 +29,7 @@ public SendingDomainsResponse create(final long accountId, final CreateSendingDo } @Override - public List getSendingDomains(final long accountId) { + public List getDomains(final long accountId) { return httpClient.getList( String.format(apiHost + "/api/accounts/%d/sending_domains", accountId), new RequestData(), @@ -38,18 +38,18 @@ public List getSendingDomains(final long accountId) { } @Override - public SendingDomainsResponse getSendingDomain(final long accountId, final long sendingDomainId) { + public SendingDomainsResponse getDomain(final long accountId, final long domainId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, sendingDomainId), + String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, domainId), new RequestData(), SendingDomainsResponse.class ); } @Override - public SendingDomainsResponse update(final long accountId, final long sendingDomainId, final UpdateSendingDomainRequest request) { + public SendingDomainsResponse update(final long accountId, final long domainId, final UpdateSendingDomainRequest request) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, sendingDomainId), + String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, domainId), request, new RequestData(), SendingDomainsResponse.class @@ -57,9 +57,9 @@ public SendingDomainsResponse update(final long accountId, final long sendingDom } @Override - public void sendSendingDomainsSetupInstructions(final long accountId, final long sendingDomainId, final SendingDomainsSetupInstructionsRequest request) { + public void sendDomainSetupInstructions(final long accountId, final long domainId, final SendingDomainsSetupInstructionsRequest request) { httpClient.post( - String.format(apiHost + "/api/accounts/%d/sending_domains/%d/send_setup_instructions", accountId, sendingDomainId), + String.format(apiHost + "/api/accounts/%d/sending_domains/%d/send_setup_instructions", accountId, domainId), request, new RequestData(), Void.class @@ -67,10 +67,10 @@ public void sendSendingDomainsSetupInstructions(final long accountId, final long } @Override - public void deleteSendingDomain(final long accountId, final long sendingDomainId) { + public void deleteDomain(final long accountId, final long domainId) { httpClient .delete( - String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, sendingDomainId), + String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, domainId), new RequestData(), Void.class ); diff --git a/src/main/java/io/mailtrap/api/testingemails/TestingEmails.java b/src/main/java/io/mailtrap/api/testingemails/TestingEmails.java index 63d207a..acdcc2b 100644 --- a/src/main/java/io/mailtrap/api/testingemails/TestingEmails.java +++ b/src/main/java/io/mailtrap/api/testingemails/TestingEmails.java @@ -8,21 +8,21 @@ import io.mailtrap.model.response.emails.SendResponse; /** - * Interface representing the Mailtrap Testing API for sending emails. + * Interface representing the Mailtrap Sandbox API for sending emails. */ public interface TestingEmails { /** * Sends an email * - * @param mail The email message to be sent. - * @param inboxId ID of the testing inbox, where to send an email. + * @param mail The email message to be sent. + * @param sandboxId ID of the sandbox, where to send an email. * @return A response indicating the result of the send operation. *

* @throws HttpException If there is an HTTP-related error during the send operation. * @throws InvalidRequestBodyException If the request body is invalid. */ - SendResponse send(MailtrapMail mail, long inboxId) throws HttpException, InvalidRequestBodyException; + SendResponse send(MailtrapMail mail, long sandboxId) throws HttpException, InvalidRequestBodyException; - BatchSendResponse batchSend(MailtrapBatchMail mail, long inboxId) throws HttpException, InvalidRequestBodyException; + BatchSendResponse batchSend(MailtrapBatchMail mail, long sandboxId) throws HttpException, InvalidRequestBodyException; } diff --git a/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java b/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java index b687aa1..b410674 100644 --- a/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java +++ b/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java @@ -19,11 +19,11 @@ public class TestingEmailsImpl extends SendApiResource implements TestingEmails public TestingEmailsImpl(final MailtrapConfig config, final MailtrapValidator mailtrapValidator) { super(config, mailtrapValidator); - this.apiHost = Constants.EMAIL_TESTING_SEND_HOST; + this.apiHost = Constants.EMAIL_SANDBOX_SEND_HOST; } @Override - public SendResponse send(final MailtrapMail mail, final long inboxId) { + public SendResponse send(final MailtrapMail mail, final long sandboxId) { validateMailPayload(mail); RequestData requestData = new RequestData(); if (mail.getHeaders() != null) { @@ -32,7 +32,7 @@ public SendResponse send(final MailtrapMail mail, final long inboxId) { return httpClient.post( - String.format(apiHost + "/api/send/%d", inboxId), + String.format(apiHost + "/api/send/%d", sandboxId), mail, requestData, SendResponse.class @@ -40,12 +40,12 @@ public SendResponse send(final MailtrapMail mail, final long inboxId) { } @Override - public BatchSendResponse batchSend(final MailtrapBatchMail mail, final long inboxId) throws HttpException, InvalidRequestBodyException { + public BatchSendResponse batchSend(final MailtrapBatchMail mail, final long sandboxId) throws HttpException, InvalidRequestBodyException { validateBatchPayload(mail); return httpClient.post( - String.format(apiHost + "/api/batch/%d", inboxId), + String.format(apiHost + "/api/batch/%d", sandboxId), mail, new RequestData(), BatchSendResponse.class ); diff --git a/src/main/java/io/mailtrap/api/trackingoptouts/TrackingOptOuts.java b/src/main/java/io/mailtrap/api/trackingoptouts/TrackingOptOuts.java index 96544a1..65ef52d 100644 --- a/src/main/java/io/mailtrap/api/trackingoptouts/TrackingOptOuts.java +++ b/src/main/java/io/mailtrap/api/trackingoptouts/TrackingOptOuts.java @@ -18,7 +18,7 @@ public interface TrackingOptOuts { TrackingOptOutListResponse getTrackingOptOuts(TrackingOptOutListFilter filter); /** - * Add an email address to the tracking opt-out list for a sending domain. + * Add an email address to the tracking opt-out list for a domain. * * @param request - request data * @return the created tracking opt-out diff --git a/src/main/java/io/mailtrap/client/MailtrapClient.java b/src/main/java/io/mailtrap/client/MailtrapClient.java index 0d5cd5e..756d651 100644 --- a/src/main/java/io/mailtrap/client/MailtrapClient.java +++ b/src/main/java/io/mailtrap/client/MailtrapClient.java @@ -27,10 +27,9 @@ public class MailtrapClient { private final MailtrapEmailSendingApi sendingApi; /** - * API for Mailtrap.io Testing functionality + * API for Mailtrap.io Email Sandbox functionality */ - @Getter - private final MailtrapEmailTestingApi testingApi; + private final MailtrapEmailTestingApi sandboxApi; /** * API for Mailtrap.io Bulk Sending functionality @@ -90,10 +89,25 @@ public class MailtrapClient { /** * Utility class which holds sending context (which API to use: Email Sending API, Bulk Sending API or - * Email Testing API, inbox id for Email Testing API) to make it possible to perform send directly from MailtrapClient + * Email Sandbox API, sandbox ID for Email Sandbox API) to make it possible to perform send directly from MailtrapClient */ private final SendingContextHolder sendingContextHolder; + /** + * @return API for Mailtrap.io Email Sandbox functionality + */ + public MailtrapEmailTestingApi sandboxApi() { + return sandboxApi; + } + + /** + * @deprecated Use {@link #sandboxApi()} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public MailtrapEmailTestingApi testingApi() { + return sandboxApi(); + } + /** * Sends an email based on the specified sending configuration. * @@ -104,7 +118,7 @@ public SendResponse send(final MailtrapMail mailtrapMail) { if (sendingContextHolder.isBulk()) { return bulkSendingApi.emails().send(mailtrapMail); } else if (sendingContextHolder.isSandbox()) { - return testingApi.emails().send(mailtrapMail, sendingContextHolder.getInboxId()); + return sandboxApi.emails().send(mailtrapMail, sendingContextHolder.getSandboxId()); } else { return sendingApi.emails().send(mailtrapMail); } @@ -120,7 +134,7 @@ public BatchSendResponse batchSend(final MailtrapBatchMail mailtrapBatchMail) { if (sendingContextHolder.isBulk()) { return bulkSendingApi.emails().batchSend(mailtrapBatchMail); } else if (sendingContextHolder.isSandbox()) { - return testingApi.emails().batchSend(mailtrapBatchMail, sendingContextHolder.getInboxId()); + return sandboxApi.emails().batchSend(mailtrapBatchMail, sendingContextHolder.getSandboxId()); } else { return sendingApi.emails().batchSend(mailtrapBatchMail); } @@ -131,26 +145,34 @@ public BatchSendResponse batchSend(final MailtrapBatchMail mailtrapBatchMail) { */ public void switchToBulkSendingApi() { this.sendingContextHolder.setBulk(true); - this.sendingContextHolder.setInboxId(null); + this.sendingContextHolder.setSandboxId(null); this.sendingContextHolder.setSandbox(false); } /** - * Configures `send` method to use Email Testing API + * Configures `send` method to use Email Sandbox API * - * @param inboxId the inbox ID to use for testing + * @param sandboxId the sandbox ID to send emails to */ - public void switchToEmailTestingApi(final Long inboxId) { - this.sendingContextHolder.setInboxId(inboxId); + public void switchToEmailSandboxApi(final Long sandboxId) { + this.sendingContextHolder.setSandboxId(sandboxId); this.sendingContextHolder.setSandbox(true); this.sendingContextHolder.setBulk(false); } + /** + * @deprecated Use {@link #switchToEmailSandboxApi(Long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public void switchToEmailTestingApi(final Long inboxId) { + switchToEmailSandboxApi(inboxId); + } + /** * Configures `send` method to use Email Sending API. */ public void switchToEmailSendingApi() { - this.sendingContextHolder.setInboxId(null); + this.sendingContextHolder.setSandboxId(null); this.sendingContextHolder.setSandbox(false); this.sendingContextHolder.setBulk(false); } diff --git a/src/main/java/io/mailtrap/client/api/MailtrapEmailTestingApi.java b/src/main/java/io/mailtrap/client/api/MailtrapEmailTestingApi.java index 7d85cc7..d079661 100644 --- a/src/main/java/io/mailtrap/client/api/MailtrapEmailTestingApi.java +++ b/src/main/java/io/mailtrap/client/api/MailtrapEmailTestingApi.java @@ -10,7 +10,7 @@ import lombok.experimental.Accessors; /** - * Represents an API for Mailtrap Testing functionality + * Represents an API for Mailtrap Email Sandbox functionality */ @Getter @Accessors(fluent = true) @@ -18,7 +18,22 @@ public class MailtrapEmailTestingApi { private final TestingEmails emails; private final Attachments attachments; - private final Inboxes inboxes; + private final Inboxes sandboxes; private final Projects projects; private final Messages messages; + + /** + * @return API for managing sandboxes + */ + public Inboxes sandboxes() { + return sandboxes; + } + + /** + * @deprecated Use {@link #sandboxes()} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public Inboxes inboxes() { + return sandboxes(); + } } diff --git a/src/main/java/io/mailtrap/config/MailtrapConfig.java b/src/main/java/io/mailtrap/config/MailtrapConfig.java index 7ff7494..e628d68 100644 --- a/src/main/java/io/mailtrap/config/MailtrapConfig.java +++ b/src/main/java/io/mailtrap/config/MailtrapConfig.java @@ -29,7 +29,7 @@ public class MailtrapConfig { private final CustomHttpClient httpClient; /** - * Indicates whether to use Email Testing API + * Indicates whether to use Email Sandbox API */ private final boolean sandbox; @@ -39,16 +39,16 @@ public class MailtrapConfig { private final boolean bulk; /** - * Inbox ID. Should be used alongside with {@link #sandbox}, as Email Testing API requires inbox ID + * Sandbox ID. Should be used alongside with {@link #sandbox}, as Email Sandbox API requires sandbox ID */ - private final Long inboxId; + private final Long sandboxId; private MailtrapConfig(final Builder builder) { if (builder.sandbox && builder.bulk) { - throw new BaseMailtrapException("Bulk mode is not applicable for Testing API"); + throw new BaseMailtrapException("Bulk mode is not applicable for Sandbox API"); } - if (builder.sandbox && Objects.isNull(builder.inboxId)) { - throw new BaseMailtrapException("Testing API requires inbox ID"); + if (builder.sandbox && Objects.isNull(builder.sandboxId)) { + throw new BaseMailtrapException("Sandbox API requires sandbox ID"); } this.connectionTimeout = builder.connectionTimeout; @@ -56,7 +56,22 @@ private MailtrapConfig(final Builder builder) { this.httpClient = builder.httpClient; this.sandbox = builder.sandbox; this.bulk = builder.bulk; - this.inboxId = builder.inboxId; + this.sandboxId = builder.sandboxId; + } + + /** + * @return the sandbox ID the Email Sandbox API sends to + */ + public Long getSandboxId() { + return sandboxId; + } + + /** + * @deprecated Use {@link #getSandboxId()} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public Long getInboxId() { + return getSandboxId(); } public static class Builder { @@ -65,7 +80,7 @@ public static class Builder { private CustomHttpClient httpClient; private boolean sandbox; private boolean bulk; - private Long inboxId; + private Long sandboxId; public Builder connectionTimeout(final Duration connectionTimeout) { this.connectionTimeout = connectionTimeout; @@ -92,11 +107,19 @@ public Builder bulk(final boolean bulk) { return this; } - public Builder inboxId(final Long inboxId) { - this.inboxId = inboxId; + public Builder sandboxId(final Long sandboxId) { + this.sandboxId = sandboxId; return this; } + /** + * @deprecated Use {@link #sandboxId(Long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public Builder inboxId(final Long inboxId) { + return sandboxId(inboxId); + } + public MailtrapConfig build() { return new MailtrapConfig(this); } diff --git a/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java b/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java index cbbceea..7255856 100644 --- a/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java +++ b/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java @@ -77,7 +77,7 @@ private MailtrapClientFactory() { */ public static MailtrapClient createMailtrapClient(final MailtrapConfig config) { final var sendingApi = createSendingApi(config); - final var testingApi = createTestingApi(config); + final var sandboxApi = createSandboxApi(config); final var bulkSendingApi = createBulkSendingApi(config); final var generalApi = createGeneralApi(config); final var contactsApi = createContactsApi(config); @@ -90,7 +90,7 @@ public static MailtrapClient createMailtrapClient(final MailtrapConfig config) { final var sendingContextHolder = configureSendingContext(config); - return new MailtrapClient(sendingApi, testingApi, bulkSendingApi, generalApi, contactsApi, emailTemplatesApi, + return new MailtrapClient(sendingApi, sandboxApi, bulkSendingApi, generalApi, contactsApi, emailTemplatesApi, templatesApi, organizationsApi, inboundApi, emailCampaignsApi, marketingApi, sendingContextHolder); } @@ -158,14 +158,14 @@ private static MailtrapEmailSendingApi createSendingApi(final MailtrapConfig con emailLogs); } - private static MailtrapEmailTestingApi createTestingApi(final MailtrapConfig config) { + private static MailtrapEmailTestingApi createSandboxApi(final MailtrapConfig config) { final var emails = new TestingEmailsImpl(config, VALIDATOR); final var attachments = new AttachmentsImpl(config); - final var inboxes = new InboxesImpl(config, VALIDATOR); + final var sandboxes = new InboxesImpl(config, VALIDATOR); final var projects = new ProjectsImpl(config, VALIDATOR); final var messages = new MessagesImpl(config); - return new MailtrapEmailTestingApi(emails, attachments, inboxes, projects, messages); + return new MailtrapEmailTestingApi(emails, attachments, sandboxes, projects, messages); } private static MailtrapBulkSendingApi createBulkSendingApi(final MailtrapConfig config) { @@ -190,7 +190,7 @@ private static SendingContextHolder configureSendingContext(final MailtrapConfig return SendingContextHolder.builder() .sandbox(config.isSandbox()) - .inboxId(config.getInboxId()) + .sandboxId(config.getSandboxId()) .bulk(config.isBulk()) .build(); } diff --git a/src/main/java/io/mailtrap/model/request/accountaccesses/ListAccountAccessQueryParams.java b/src/main/java/io/mailtrap/model/request/accountaccesses/ListAccountAccessQueryParams.java index 59d57e7..75d17ae 100644 --- a/src/main/java/io/mailtrap/model/request/accountaccesses/ListAccountAccessQueryParams.java +++ b/src/main/java/io/mailtrap/model/request/accountaccesses/ListAccountAccessQueryParams.java @@ -19,7 +19,7 @@ public class ListAccountAccessQueryParams { private List domainUuids; /** - * The identifiers of the inboxes for which to include the results + * The identifiers of the sandboxes for which to include the results */ private List inboxIds; diff --git a/src/main/java/io/mailtrap/model/request/emailcampaigns/CreateEmailCampaign.java b/src/main/java/io/mailtrap/model/request/emailcampaigns/CreateEmailCampaign.java index 76a4c57..7d284fe 100644 --- a/src/main/java/io/mailtrap/model/request/emailcampaigns/CreateEmailCampaign.java +++ b/src/main/java/io/mailtrap/model/request/emailcampaigns/CreateEmailCampaign.java @@ -29,8 +29,8 @@ public class CreateEmailCampaign extends AbstractModel { private String name; /** - * ID of the verified sending domain used for the campaign, as returned by the Sending - * Domains endpoints. + * ID of the verified domain used for the campaign, as returned by the Domains + * endpoints. */ @JsonProperty("domain_id") private Long domainId; diff --git a/src/main/java/io/mailtrap/model/request/emailcampaigns/UpdateEmailCampaign.java b/src/main/java/io/mailtrap/model/request/emailcampaigns/UpdateEmailCampaign.java index 7f04b27..7c4dce4 100644 --- a/src/main/java/io/mailtrap/model/request/emailcampaigns/UpdateEmailCampaign.java +++ b/src/main/java/io/mailtrap/model/request/emailcampaigns/UpdateEmailCampaign.java @@ -27,8 +27,8 @@ public class UpdateEmailCampaign extends AbstractModel { private String name; /** - * ID of the verified sending domain used for the campaign, as returned by the Sending - * Domains endpoints. + * ID of the verified domain used for the campaign, as returned by the Domains + * endpoints. */ @JsonProperty("domain_id") private Long domainId; diff --git a/src/main/java/io/mailtrap/model/response/emailcampaigns/EmailCampaign.java b/src/main/java/io/mailtrap/model/response/emailcampaigns/EmailCampaign.java index 8f4386a..ad9164f 100644 --- a/src/main/java/io/mailtrap/model/response/emailcampaigns/EmailCampaign.java +++ b/src/main/java/io/mailtrap/model/response/emailcampaigns/EmailCampaign.java @@ -23,7 +23,7 @@ public class EmailCampaign { private Long id; /** - * ID of the sending domain used for the campaign, as returned by the Sending Domains + * ID of the domain used for the campaign, as returned by the Domains * endpoints. */ @JsonProperty("domain_id") diff --git a/src/main/java/io/mailtrap/util/SendingContextHolder.java b/src/main/java/io/mailtrap/util/SendingContextHolder.java index 3b4ebd4..596aedc 100644 --- a/src/main/java/io/mailtrap/util/SendingContextHolder.java +++ b/src/main/java/io/mailtrap/util/SendingContextHolder.java @@ -7,13 +7,40 @@ /** * Utility class which holds sending context (which API to use: Email Sending API, Bulk Sending API or - * Email Testing API, inbox id for Email Testing API) to make it possible to perform send directly from {@link MailtrapClient} + * Email Sandbox API, sandbox ID for Email Sandbox API) to make it possible to perform send directly from {@link MailtrapClient} */ @Getter @Builder @Setter public class SendingContextHolder { private boolean sandbox; - private Long inboxId; + private Long sandboxId; private boolean bulk; + + /** + * @deprecated Use {@code getSandboxId()} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public Long getInboxId() { + return getSandboxId(); + } + + /** + * @deprecated Use {@code setSandboxId(Long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public void setInboxId(final Long inboxId) { + setSandboxId(inboxId); + } + + public static class SendingContextHolderBuilder { + + /** + * @deprecated Use {@code sandboxId(Long)} instead. Will be removed in a future major release. + */ + @Deprecated(since = "1.11.0") + public SendingContextHolderBuilder inboxId(final Long inboxId) { + return sandboxId(inboxId); + } + } } diff --git a/src/test/java/io/mailtrap/DeprecatedNamesTest.java b/src/test/java/io/mailtrap/DeprecatedNamesTest.java new file mode 100644 index 0000000..c5e1b1c --- /dev/null +++ b/src/test/java/io/mailtrap/DeprecatedNamesTest.java @@ -0,0 +1,184 @@ +package io.mailtrap; + +import io.mailtrap.api.inboxes.Inboxes; +import io.mailtrap.api.sendingdomains.SendingDomains; +import io.mailtrap.client.MailtrapClient; +import io.mailtrap.client.api.MailtrapEmailTestingApi; +import io.mailtrap.config.MailtrapConfig; +import io.mailtrap.factory.MailtrapClientFactory; +import io.mailtrap.model.request.inboxes.CreateInboxRequest; +import io.mailtrap.model.request.inboxes.UpdateInboxRequest; +import io.mailtrap.model.request.sendingdomains.SendingDomainsSetupInstructionsRequest; +import io.mailtrap.model.response.inboxes.InboxResponse; +import io.mailtrap.model.response.sendingdomains.SendingDomainsResponse; +import io.mailtrap.testutils.BaseTest; +import io.mailtrap.testutils.TestHttpClient; +import io.mailtrap.util.SendingContextHolder; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; + +import java.lang.reflect.AnnotatedElement; +import java.util.List; +import java.util.stream.Stream; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * The old Testing, Inbox and SendingDomain entry points still work, delegate to their + * Sandbox and Domain replacements, and are marked {@link Deprecated}. + */ +@SuppressWarnings("deprecation") +class DeprecatedNamesTest extends BaseTest { + + private static final String DEPRECATED_SINCE = "1.11.0"; + + private MailtrapClient client; + + @BeforeEach + void init() { + client = MailtrapClientFactory.createMailtrapClient(new MailtrapConfig.Builder() + .httpClient(new TestHttpClient(List.of())) + .token("dummy_token") + .build()); + } + + @Test + void testingApi_returnsSandboxApi() { + assertSame(client.sandboxApi(), client.testingApi()); + } + + @Test + void inboxes_returnsSandboxes() { + assertSame(client.sandboxApi().sandboxes(), client.sandboxApi().inboxes()); + } + + @Test + void switchToEmailTestingApi_switchesToSandboxApi() { + final MailtrapClient spiedClient = spy(client); + + spiedClient.switchToEmailTestingApi(sandboxId); + + verify(spiedClient).switchToEmailSandboxApi(sandboxId); + } + + @Test + void configInboxId_setsSandboxId() { + final MailtrapConfig config = new MailtrapConfig.Builder() + .sandbox(true) + .inboxId(sandboxId) + .build(); + + assertEquals(sandboxId, config.getSandboxId()); + assertEquals(sandboxId, config.getInboxId()); + } + + @Test + void sendingContextHolderInboxId_isSandboxId() { + final SendingContextHolder holder = SendingContextHolder.builder().inboxId(sandboxId).build(); + assertEquals(sandboxId, holder.getSandboxId()); + assertEquals(sandboxId, holder.getInboxId()); + + holder.setInboxId(5L); + assertEquals(5L, holder.getSandboxId()); + } + + @Test + void emailTestingSendHost_isSandboxSendHost() { + assertEquals(Constants.EMAIL_SANDBOX_SEND_HOST, Constants.EMAIL_TESTING_SEND_HOST); + } + + // Each new method is stubbed with the exact arguments, and the mock answers anything else + // with a default value, so assertSame alone shows the old method delegated to the new one. + @Test + void inboxMethods_delegateToSandboxMethods() { + final Inboxes sandboxes = mock(Inboxes.class, CALLS_REAL_METHODS); + final CreateInboxRequest createRequest = new CreateInboxRequest(new CreateInboxRequest.InboxCreateData("Test inbox")); + final UpdateInboxRequest updateRequest = new UpdateInboxRequest( + new UpdateInboxRequest.InboxUpdateData("Updated Inbox Name", "updated-email-username")); + final InboxResponse response = new InboxResponse(); + final List responses = List.of(response); + + doReturn(response).when(sandboxes).createSandbox(accountId, projectId, createRequest); + assertSame(response, sandboxes.createInbox(accountId, projectId, createRequest)); + + doReturn(response).when(sandboxes).getSandboxAttributes(accountId, sandboxId); + assertSame(response, sandboxes.getInboxAttributes(accountId, sandboxId)); + + doReturn(response).when(sandboxes).deleteSandbox(accountId, sandboxId); + assertSame(response, sandboxes.deleteInbox(accountId, sandboxId)); + + doReturn(response).when(sandboxes).updateSandbox(accountId, sandboxId, updateRequest); + assertSame(response, sandboxes.updateInbox(accountId, sandboxId, updateRequest)); + + doReturn(response).when(sandboxes).cleanSandbox(accountId, sandboxId); + assertSame(response, sandboxes.cleanInbox(accountId, sandboxId)); + + doReturn(responses).when(sandboxes).getSandboxes(accountId); + assertSame(responses, sandboxes.getInboxes(accountId)); + } + + @Test + void sendingDomainMethods_delegateToDomainMethods() { + final SendingDomains domains = mock(SendingDomains.class, CALLS_REAL_METHODS); + final SendingDomainsResponse response = new SendingDomainsResponse(); + final List responses = List.of(response); + final SendingDomainsSetupInstructionsRequest instructionsRequest = new SendingDomainsSetupInstructionsRequest("devops@test.io"); + + doReturn(responses).when(domains).getDomains(accountId); + assertSame(responses, domains.getSendingDomains(accountId)); + + doReturn(response).when(domains).getDomain(accountId, domainId); + assertSame(response, domains.getSendingDomain(accountId, domainId)); + + domains.sendSendingDomainsSetupInstructions(accountId, domainId, instructionsRequest); + verify(domains).sendDomainSetupInstructions(accountId, domainId, instructionsRequest); + + domains.deleteSendingDomain(accountId, domainId); + verify(domains).deleteDomain(accountId, domainId); + } + + @ParameterizedTest(name = "{0}") + @MethodSource("deprecatedMembers") + void oldNames_areMarkedDeprecated(final String name, final AnnotatedElement member) { + final Deprecated deprecated = member.getAnnotation(Deprecated.class); + + assertNotNull(deprecated, name + " should be @Deprecated"); + assertEquals(DEPRECATED_SINCE, deprecated.since(), name); + } + + static Stream deprecatedMembers() throws ReflectiveOperationException { + return Stream.of( + deprecatedMethod(MailtrapClient.class, "testingApi"), + deprecatedMethod(MailtrapClient.class, "switchToEmailTestingApi", Long.class), + deprecatedMethod(MailtrapConfig.class, "getInboxId"), + deprecatedMethod(MailtrapConfig.Builder.class, "inboxId", Long.class), + deprecatedMethod(SendingContextHolder.class, "getInboxId"), + deprecatedMethod(SendingContextHolder.class, "setInboxId", Long.class), + deprecatedMethod(SendingContextHolder.SendingContextHolderBuilder.class, "inboxId", Long.class), + Arguments.of("Constants#EMAIL_TESTING_SEND_HOST", Constants.class.getField("EMAIL_TESTING_SEND_HOST")), + deprecatedMethod(MailtrapEmailTestingApi.class, "inboxes"), + deprecatedMethod(Inboxes.class, "createInbox", long.class, long.class, CreateInboxRequest.class), + deprecatedMethod(Inboxes.class, "getInboxAttributes", long.class, long.class), + deprecatedMethod(Inboxes.class, "deleteInbox", long.class, long.class), + deprecatedMethod(Inboxes.class, "updateInbox", long.class, long.class, UpdateInboxRequest.class), + deprecatedMethod(Inboxes.class, "cleanInbox", long.class, long.class), + deprecatedMethod(Inboxes.class, "getInboxes", long.class), + deprecatedMethod(SendingDomains.class, "getSendingDomains", long.class), + deprecatedMethod(SendingDomains.class, "getSendingDomain", long.class, long.class), + deprecatedMethod(SendingDomains.class, "sendSendingDomainsSetupInstructions", + long.class, long.class, SendingDomainsSetupInstructionsRequest.class), + deprecatedMethod(SendingDomains.class, "deleteSendingDomain", long.class, long.class) + ); + } + + private static Arguments deprecatedMethod(final Class type, final String name, final Class... parameterTypes) + throws NoSuchMethodException { + final String typeName = type.getCanonicalName().substring(type.getPackageName().length() + 1); + + return Arguments.of(typeName + "#" + name, type.getMethod(name, parameterTypes)); + } +} diff --git a/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java b/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java index deb0fdc..9e13ac3 100644 --- a/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java +++ b/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java @@ -21,10 +21,10 @@ class AttachmentsImplTest extends BaseTest { @BeforeEach public void init() { final TestHttpClient httpClient = new TestHttpClient(List.of( - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/attachments", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/attachments", "GET", null, "api/attachments/getAttachmentsResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/attachments/" + attachmentId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/attachments/" + attachmentId, "GET", null, "api/attachments/getAttachmentResponse.json") )); @@ -33,12 +33,12 @@ public void init() { .token("dummy_token") .build(); - api = MailtrapClientFactory.createMailtrapClient(testConfig).testingApi().attachments(); + api = MailtrapClientFactory.createMailtrapClient(testConfig).sandboxApi().attachments(); } @Test public void test_getAttachments() { - final List attachments = api.getAttachments(accountId, inboxId, messageId, null); + final List attachments = api.getAttachments(accountId, sandboxId, messageId, null); assertEquals(1, attachments.size()); @@ -48,7 +48,7 @@ public void test_getAttachments() { @Test public void test_getAttachment() { - final AttachmentResponse attachment = api.getSingleAttachment(accountId, inboxId, messageId, attachmentId); + final AttachmentResponse attachment = api.getSingleAttachment(accountId, sandboxId, messageId, attachmentId); assertNotNull(attachment); assertEquals(attachmentId, attachment.getId()); diff --git a/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java b/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java index 9d349ca..227d595 100644 --- a/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java +++ b/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java @@ -28,28 +28,28 @@ public void init() { DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/projects/" + projectId + "/inboxes", "POST", "api/inbox/createInboxRequest.json", "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId, "GET", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId, "DELETE", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId, "PATCH", "api/inbox/updateInboxRequest.json", "api/inbox/updateInboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/clean", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/clean", "PATCH", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/all_read", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/all_read", "PATCH", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/reset_credentials", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/reset_credentials", "PATCH", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/toggle_email_username", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/toggle_email_username", "PATCH", null, "api/inbox/inboxResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/reset_email_username", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/reset_email_username", "PATCH", null, "api/inbox/inboxResponse.json"), DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes", @@ -61,108 +61,108 @@ public void init() { .token("dummy_token") .build(); - api = MailtrapClientFactory.createMailtrapClient(testConfig).testingApi().inboxes(); + api = MailtrapClientFactory.createMailtrapClient(testConfig).sandboxApi().sandboxes(); } @Test - void test_createInbox() { - final InboxResponse createdInbox = api.createInbox(accountId, projectId, new CreateInboxRequest(new InboxCreateData("Test inbox"))); + void test_createSandbox() { + final InboxResponse createdSandbox = api.createSandbox(accountId, projectId, new CreateInboxRequest(new InboxCreateData("Test inbox"))); - assertNotNull(createdInbox); - assertEquals(createdInbox.getProjectId(), projectId); - assertEquals("Test inbox", createdInbox.getName()); + assertNotNull(createdSandbox); + assertEquals(createdSandbox.getProjectId(), projectId); + assertEquals("Test inbox", createdSandbox.getName()); } @Test - void test_getInboxAttributes() { - final InboxResponse inboxAttributes = api.getInboxAttributes(accountId, inboxId); + void test_getSandboxAttributes() { + final InboxResponse sandboxAttributes = api.getSandboxAttributes(accountId, sandboxId); - assertNotNull(inboxAttributes); - assertTrue(inboxAttributes.getPermission().isCanRead()); - assertEquals(inboxAttributes.getProjectId(), projectId); - assertEquals("Test inbox", inboxAttributes.getName()); + assertNotNull(sandboxAttributes); + assertTrue(sandboxAttributes.getPermission().isCanRead()); + assertEquals(sandboxAttributes.getProjectId(), projectId); + assertEquals("Test inbox", sandboxAttributes.getName()); } @Test - void test_deleteInbox() { - final InboxResponse deletedInbox = api.deleteInbox(accountId, inboxId); + void test_deleteSandbox() { + final InboxResponse deletedSandbox = api.deleteSandbox(accountId, sandboxId); - assertNotNull(deletedInbox); - assertTrue(deletedInbox.getPermission().isCanRead()); - assertEquals(deletedInbox.getId(), inboxId); - assertEquals("Test inbox", deletedInbox.getName()); + assertNotNull(deletedSandbox); + assertTrue(deletedSandbox.getPermission().isCanRead()); + assertEquals(deletedSandbox.getId(), sandboxId); + assertEquals("Test inbox", deletedSandbox.getName()); } @Test - void test_updateInbox() { - final InboxResponse updatedInbox = api.updateInbox(accountId, inboxId, new UpdateInboxRequest(new InboxUpdateData("Updated Inbox Name", "updated-email-username"))); - - assertNotNull(updatedInbox); - assertTrue(updatedInbox.getPermission().isCanRead()); - assertEquals(updatedInbox.getId(), inboxId); - assertEquals("Updated Inbox Name", updatedInbox.getName()); - assertEquals("updated-email-username", updatedInbox.getEmailUsername()); + void test_updateSandbox() { + final InboxResponse updatedSandbox = api.updateSandbox(accountId, sandboxId, new UpdateInboxRequest(new InboxUpdateData("Updated Inbox Name", "updated-email-username"))); + + assertNotNull(updatedSandbox); + assertTrue(updatedSandbox.getPermission().isCanRead()); + assertEquals(updatedSandbox.getId(), sandboxId); + assertEquals("Updated Inbox Name", updatedSandbox.getName()); + assertEquals("updated-email-username", updatedSandbox.getEmailUsername()); } @Test - void test_cleanInbox() { - final InboxResponse cleanedInbox = api.cleanInbox(accountId, inboxId); + void test_cleanSandbox() { + final InboxResponse cleanedSandbox = api.cleanSandbox(accountId, sandboxId); - assertNotNull(cleanedInbox); - assertTrue(cleanedInbox.getPermission().isCanRead()); - assertEquals(cleanedInbox.getId(), inboxId); - assertEquals("Test inbox", cleanedInbox.getName()); + assertNotNull(cleanedSandbox); + assertTrue(cleanedSandbox.getPermission().isCanRead()); + assertEquals(cleanedSandbox.getId(), sandboxId); + assertEquals("Test inbox", cleanedSandbox.getName()); } @Test void test_markAsRead() { - final InboxResponse markedAsRead = api.markAsRead(accountId, inboxId); + final InboxResponse markedAsRead = api.markAsRead(accountId, sandboxId); assertNotNull(markedAsRead); assertTrue(markedAsRead.getPermission().isCanRead()); - assertEquals(markedAsRead.getId(), inboxId); + assertEquals(markedAsRead.getId(), sandboxId); assertEquals("Test inbox", markedAsRead.getName()); } @Test void test_resetCredentials() { - final InboxResponse resetCredentials = api.resetCredentials(accountId, inboxId); + final InboxResponse resetCredentials = api.resetCredentials(accountId, sandboxId); assertNotNull(resetCredentials); assertTrue(resetCredentials.getPermission().isCanRead()); - assertEquals(resetCredentials.getId(), inboxId); + assertEquals(resetCredentials.getId(), sandboxId); assertEquals("Test inbox", resetCredentials.getName()); } @Test void test_enableEmailAddress() { - final InboxResponse enableEmailAddress = api.enableEmailAddress(accountId, inboxId); + final InboxResponse enableEmailAddress = api.enableEmailAddress(accountId, sandboxId); assertNotNull(enableEmailAddress); assertTrue(enableEmailAddress.getPermission().isCanRead()); - assertEquals(enableEmailAddress.getId(), inboxId); + assertEquals(enableEmailAddress.getId(), sandboxId); assertEquals("Test inbox", enableEmailAddress.getName()); } @Test void test_resetEmailAddresses() { - final InboxResponse resetEmailAddresses = api.resetEmailAddresses(accountId, inboxId); + final InboxResponse resetEmailAddresses = api.resetEmailAddresses(accountId, sandboxId); assertNotNull(resetEmailAddresses); assertTrue(resetEmailAddresses.getPermission().isCanRead()); - assertEquals(resetEmailAddresses.getId(), inboxId); + assertEquals(resetEmailAddresses.getId(), sandboxId); assertEquals("Test inbox", resetEmailAddresses.getName()); } @Test - void test_getInboxes() { - final List inboxes = api.getInboxes(accountId); - - assertNotNull(inboxes); - assertEquals(1, inboxes.size()); - assertTrue(inboxes.get(0).getPermission().isCanRead()); - assertEquals(inboxes.get(0).getId(), inboxId); - assertEquals("Test inbox", inboxes.get(0).getName()); + void test_getSandboxes() { + final List sandboxes = api.getSandboxes(accountId); + + assertNotNull(sandboxes); + assertEquals(1, sandboxes.size()); + assertTrue(sandboxes.get(0).getPermission().isCanRead()); + assertEquals(sandboxes.get(0).getId(), sandboxId); + assertEquals("Test inbox", sandboxes.get(0).getName()); } } diff --git a/src/test/java/io/mailtrap/api/marketingstats/MarketingStatsImplTest.java b/src/test/java/io/mailtrap/api/marketingstats/MarketingStatsImplTest.java index 8ccc2e0..6b2ee49 100644 --- a/src/test/java/io/mailtrap/api/marketingstats/MarketingStatsImplTest.java +++ b/src/test/java/io/mailtrap/api/marketingstats/MarketingStatsImplTest.java @@ -39,7 +39,7 @@ public void init() { Map.of( "start_date", startDate, "end_date", endDate, - "sending_domain_ids[]", List.of(sendingDomainId), + "sending_domain_ids[]", List.of(domainId), "sources[]", List.of(MarketingStatsSource.CAMPAIGNS), "email_service_providers[]", List.of("Google", "Yahoo") )) @@ -82,7 +82,7 @@ void test_getMarketingStats_withFilters() { final MarketingStatsResponse response = api.getMarketingStats(MarketingStatsFilter.builder() .startDate(startDate) .endDate(endDate) - .sendingDomainIds(List.of(sendingDomainId)) + .sendingDomainIds(List.of(domainId)) .sources(List.of(MarketingStatsSource.CAMPAIGNS)) .emailServiceProviders(List.of("Google", "Yahoo")) .build()); diff --git a/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java b/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java index c0e038d..695869a 100644 --- a/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java +++ b/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java @@ -25,49 +25,49 @@ class MessagesImplTest extends BaseTest { @BeforeEach public void init() { final TestHttpClient httpClient = new TestHttpClient(List.of( - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId, "GET", null, "api/messages/messageResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId, "PATCH", "api/messages/updateMessageRequest.json", "api/messages/updatedMessageResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId, + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId, "DELETE", null, "api/messages/messageResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages", "GET", null, "api/messages/listMessagesResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages", "GET", null, "api/messages/listMessagesWithSearchEmptyResponse.json", Map.of("search", "qqqqqqqq")), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages", "GET", null, "api/messages/listMessagesWithSearchSingleEmailResponse.json", Map.of("search", "mary")), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/forward", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/forward", "POST", "api/messages/forwardMessageRequest.json", "api/messages/forwardMessageResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/spam_report", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/spam_report", "GET", null, "api/messages/spamScoreResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/analyze", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/analyze", "GET", null, "api/messages/htmlAnalysisResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/body.txt", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/body.txt", "GET", null, "api/messages/textMessageResponse.txt"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/body.raw", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/body.raw", "GET", null, "api/messages/rawMessageResponse.txt"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/body.htmlsource", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/body.htmlsource", "GET", null, "api/messages/messageSourceResponse.txt"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/body.html", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/body.html", "GET", null, "api/messages/htmlMessageResponse.txt"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/body.eml", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/body.eml", "GET", null, "api/messages/emlResponse.txt"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/mail_headers", + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + sandboxId + "/messages/" + messageId + "/mail_headers", "GET", null, "api/messages/messageHeadersResponse.json") )); @@ -76,12 +76,12 @@ public void init() { .token("dummy_token") .build(); - api = MailtrapClientFactory.createMailtrapClient(testConfig).testingApi().messages(); + api = MailtrapClientFactory.createMailtrapClient(testConfig).sandboxApi().messages(); } @Test void test_getMessage() { - final MessageResponse message = api.getMessage(accountId, inboxId, messageId); + final MessageResponse message = api.getMessage(accountId, sandboxId, messageId); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -90,7 +90,7 @@ void test_getMessage() { @Test void test_updateMessage() { - final MessageResponse message = api.updateMessage(accountId, inboxId, messageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); + final MessageResponse message = api.updateMessage(accountId, sandboxId, messageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -99,7 +99,7 @@ void test_updateMessage() { @Test void test_deleteMessage() { - final MessageResponse message = api.deleteMessage(accountId, inboxId, messageId); + final MessageResponse message = api.deleteMessage(accountId, sandboxId, messageId); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -107,7 +107,7 @@ void test_deleteMessage() { @Test void test_getMessages() { - final List messages = api.getMessages(accountId, inboxId, ListMessagesQueryParams.empty()); + final List messages = api.getMessages(accountId, sandboxId, ListMessagesQueryParams.empty()); assertNotNull(messages); assertEquals(1, messages.size()); @@ -119,7 +119,7 @@ void test_getMessagesWithSearchQueryParam_emptyResponse() { final ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); queryParams.setSearch("qqqqqqqq"); - final List messages = api.getMessages(accountId, inboxId, queryParams); + final List messages = api.getMessages(accountId, sandboxId, queryParams); assertNotNull(messages); assertTrue(messages.isEmpty()); @@ -130,7 +130,7 @@ void test_getMessagesWithSearchQueryParam_notEmptyResponse() { final ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); queryParams.setSearch("mary"); - final List messages = api.getMessages(accountId, inboxId, queryParams); + final List messages = api.getMessages(accountId, sandboxId, queryParams); assertNotNull(messages); assertEquals(1, messages.size()); @@ -139,7 +139,7 @@ void test_getMessagesWithSearchQueryParam_notEmptyResponse() { @Test void test_forwardMessage() { - final ForwardMessageResponse forwardMessageResponse = api.forwardMessage(accountId, inboxId, messageId, new ForwardMessageRequest("jack@mailtrap.io")); + final ForwardMessageResponse forwardMessageResponse = api.forwardMessage(accountId, sandboxId, messageId, new ForwardMessageRequest("jack@mailtrap.io")); assertNotNull(forwardMessageResponse); assertEquals("Your email message has been successfully forwarded", forwardMessageResponse.getMessage()); @@ -147,7 +147,7 @@ void test_forwardMessage() { @Test void test_getSpamScore() { - final MessageSpamScoreResponse spamScore = api.getSpamScore(accountId, inboxId, messageId); + final MessageSpamScoreResponse spamScore = api.getSpamScore(accountId, sandboxId, messageId); assertNotNull(spamScore); assertEquals("Not spam", spamScore.getReport().getResponseMessage()); @@ -155,7 +155,7 @@ void test_getSpamScore() { @Test void test_getMessageHtmlAnalysis() { - final MessageHtmlAnalysisResponse htmlAnalysis = api.getMessageHtmlAnalysis(accountId, inboxId, messageId); + final MessageHtmlAnalysisResponse htmlAnalysis = api.getMessageHtmlAnalysis(accountId, sandboxId, messageId); assertNotNull(htmlAnalysis); assertEquals("success", htmlAnalysis.getReport().getStatus()); @@ -164,42 +164,42 @@ void test_getMessageHtmlAnalysis() { @Test void test_getTextMessage() { - final String textMessage = api.getTextMessage(accountId, inboxId, messageId); + final String textMessage = api.getTextMessage(accountId, sandboxId, messageId); assertNotNull(textMessage); } @Test void test_getRawMessage() { - final String rawMessage = api.getRawMessage(accountId, inboxId, messageId); + final String rawMessage = api.getRawMessage(accountId, sandboxId, messageId); assertNotNull(rawMessage); } @Test void test_getMessageSource() { - final String messageSource = api.getMessageSource(accountId, inboxId, messageId); + final String messageSource = api.getMessageSource(accountId, sandboxId, messageId); assertNotNull(messageSource); } @Test void test_getHtmlMessage() { - final String htmlMessage = api.getHtmlMessage(accountId, inboxId, messageId); + final String htmlMessage = api.getHtmlMessage(accountId, sandboxId, messageId); assertNotNull(htmlMessage); } @Test void test_getMessageAsEml() { - final String messageAsEml = api.getMessageAsEml(accountId, inboxId, messageId); + final String messageAsEml = api.getMessageAsEml(accountId, sandboxId, messageId); assertNotNull(messageAsEml); } @Test void test_getMailHeaders() { - final MessageHeadersResponse mailHeaders = api.getMailHeaders(accountId, inboxId, messageId); + final MessageHeadersResponse mailHeaders = api.getMailHeaders(accountId, sandboxId, messageId); assertNotNull(mailHeaders); assertEquals(5, mailHeaders.getHeaders().size()); diff --git a/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java b/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java index 8809124..f31f4c5 100644 --- a/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java +++ b/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java @@ -45,7 +45,7 @@ public void init() { void managePermissions() { final ManagePermissionsRequest request = new ManagePermissionsRequest(List.of( new Permission(String.valueOf(accountId), ResourceType.ACCOUNT, AccessLevel.VIEWER, false), - new Permission(String.valueOf(inboxId), ResourceType.INBOX, AccessLevel.ADMIN, true) + new Permission(String.valueOf(sandboxId), ResourceType.INBOX, AccessLevel.ADMIN, true) )); final ManagePermissionsResponse response = api.managePermissions(accountAccessId, accountId, request); diff --git a/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java b/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java index 7e71c50..6a0faf2 100644 --- a/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java +++ b/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java @@ -46,7 +46,7 @@ public void init() { .token("dummy_token") .build(); - api = MailtrapClientFactory.createMailtrapClient(testConfig).testingApi().projects(); + api = MailtrapClientFactory.createMailtrapClient(testConfig).sandboxApi().projects(); } @Test diff --git a/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java b/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java index de4004c..7c824de 100644 --- a/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java +++ b/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java @@ -33,19 +33,19 @@ public void init() { "GET", null, "api/sending_domains/sendingDomainsResponse.json" ), DataMock.build( - Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + sendingDomainId, + Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + domainId, "GET", null, "api/sending_domains/sendingDomainResponse.json" ), DataMock.build( - Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + sendingDomainId, + Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + domainId, "PATCH", "api/sending_domains/updateSendingDomainRequest.json", "api/sending_domains/sendingDomainResponse.json" ), DataMock.build( - Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + sendingDomainId + "/send_setup_instructions", + Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + domainId + "/send_setup_instructions", "POST", "api/sending_domains/sendSetupInstructionsRequest.json", null ), DataMock.build( - Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + sendingDomainId, + Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains/" + domainId, "DELETE", null, null ) )); @@ -68,8 +68,8 @@ void test_create() { } @Test - void test_getSendingDomains() { - final List response = domains.getSendingDomains(accountId); + void test_getDomains() { + final List response = domains.getDomains(accountId); assertFalse(response.isEmpty()); assertEquals(1, response.size()); @@ -79,8 +79,8 @@ void test_getSendingDomains() { } @Test - void test_getSendingDomain() { - final SendingDomainsResponse response = domains.getSendingDomain(accountId, sendingDomainId); + void test_getDomain() { + final SendingDomainsResponse response = domains.getDomain(accountId, domainId); assertNotNull(response); assertEquals("test.io", response.getDomainName()); @@ -93,7 +93,7 @@ void test_getSendingDomain() { void test_update() { final SendingDomainsResponse response = domains.update( accountId, - sendingDomainId, + domainId, new UpdateSendingDomainRequest( UpdateSendingDomainRequest.SendingDomainData.builder() .openTrackingEnabled(true) @@ -111,12 +111,12 @@ void test_update() { } @Test - void test_sendSendingDomainsSetupInstructions() { - domains.sendSendingDomainsSetupInstructions(accountId, sendingDomainId, new SendingDomainsSetupInstructionsRequest("devops@test.io")); + void test_sendDomainSetupInstructions() { + domains.sendDomainSetupInstructions(accountId, domainId, new SendingDomainsSetupInstructionsRequest("devops@test.io")); } @Test - void test_deleteSendingDomain() { - assertDoesNotThrow(() -> domains.deleteSendingDomain(accountId, sendingDomainId)); + void test_deleteDomain() { + assertDoesNotThrow(() -> domains.deleteDomain(accountId, domainId)); } } diff --git a/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java b/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java index 369c0f4..de67340 100644 --- a/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java +++ b/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java @@ -21,33 +21,33 @@ class TestingEmailsImplTest extends BaseSendTest { - private TestingEmails testingApi; + private TestingEmails api; @BeforeEach public void init() { final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/send/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/send/" + SANDBOX_ID, "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json" ), DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/send/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/send/" + SANDBOX_ID, "POST", "api/emails/sendRequestFromTemplate.json", "api/emails/sendResponse.json" ), DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/batch/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/batch/" + SANDBOX_ID, "POST", "api/emails/batchSendRequest.json", "api/emails/batchSendResponse.json" ), DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/batch/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/batch/" + SANDBOX_ID, "POST", "api/emails/batchSendWithBaseSubjectRequest.json", "api/emails/batchSendResponse.json" ), DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/batch/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/batch/" + SANDBOX_ID, "POST", "api/emails/batchSendWithBaseSubjectAndTextRequest.json", "api/emails/batchSendResponse.json" ), DataMock.build( - Constants.EMAIL_TESTING_SEND_HOST + "/api/batch/" + INBOX_ID, + Constants.EMAIL_SANDBOX_SEND_HOST + "/api/batch/" + SANDBOX_ID, "POST", "api/emails/batchSendRequestFromTemplate.json", "api/emails/batchSendResponse.json" ) )); @@ -56,10 +56,10 @@ public void init() { .httpClient(httpClient) .token("dummy_token") .sandbox(true) - .inboxId(INBOX_ID) + .sandboxId(SANDBOX_ID) .build(); - testingApi = MailtrapClientFactory.createMailtrapClient(testConfig).testingApi().emails(); + api = MailtrapClientFactory.createMailtrapClient(testConfig).sandboxApi().emails(); } @Test @@ -68,7 +68,7 @@ void send_InvalidMailEmptyFromEmail_ThrowsInvalidRequestBodyException() { final MailtrapMail mail = createInvalidTestMail(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(INVALID_REQUEST_EMPTY_BODY_FROM_EMAIL, exception.getMessage()); } @@ -78,7 +78,7 @@ void send_MailWithoutTemplateUuidAndTextAndHtml_ThrowsInvalidRequestBodyExceptio final MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @@ -88,7 +88,7 @@ void send_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { final MailtrapMail mail = createTestMailWithTemplateUuidAndText(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @@ -98,7 +98,7 @@ void send_MailWithTemplateUuidAndHtml_ThrowsInvalidRequestBodyException() { final MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @@ -108,7 +108,7 @@ void send_MailWithTemplateVariablesAndHtml_ThrowsInvalidRequestBodyException() { final MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(TEMPLATE_VARIABLES_SHOULD_BE_USED_WITH_TEMPLATE_UUID, exception.getMessage()); } @@ -118,14 +118,14 @@ void send_MailWithSubjectAndNoTextNoHtml_ThrowsInvalidRequestBodyException() { final MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(mail, SANDBOX_ID)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(null, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.send(null, SANDBOX_ID)); assertEquals(MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @@ -135,7 +135,7 @@ void send_ValidMail_SuccessResponse() { final var mail = createValidTestMail(); // Perform call - final SendResponse response = testingApi.send(mail, INBOX_ID); + final SendResponse response = api.send(mail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -148,7 +148,7 @@ void send_ValidMailFromTemplate_SuccessResponse() { final var mail = createTestMailFromTemplate(); // Perform call - final SendResponse response = testingApi.send(mail, INBOX_ID); + final SendResponse response = api.send(mail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -161,7 +161,7 @@ void batchSend_ValidMail_SuccessResponse() { final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); // Perform call - final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = api.batchSend(batchMail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -174,7 +174,7 @@ void batchSend_ValidMailFromTemplate_SuccessResponse() { final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); // Perform call - final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = api.batchSend(batchMail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -189,7 +189,7 @@ void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { .requests(List.of(createValidTestMailForBatchWithNoSubject())).build(); // Perform call - final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = api.batchSend(batchMail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -204,7 +204,7 @@ void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Perform call - final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = api.batchSend(batchMail, SANDBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -219,14 +219,14 @@ void batchSend_InvalidMailWithNoSubjectAndTextNoBase_ThrowsInvalidRequestBodyExc .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.batchSend(batchMail, SANDBOX_ID)); assertEquals(SUBJECT_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(null, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.batchSend(null, SANDBOX_ID)); assertEquals(BATCH_MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @@ -237,7 +237,7 @@ void batchSend_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Assert - final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.batchSend(batchMail, SANDBOX_ID)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } diff --git a/src/test/java/io/mailtrap/client/MailtrapClientTest.java b/src/test/java/io/mailtrap/client/MailtrapClientTest.java index 902d14a..ed32f04 100644 --- a/src/test/java/io/mailtrap/client/MailtrapClientTest.java +++ b/src/test/java/io/mailtrap/client/MailtrapClientTest.java @@ -26,7 +26,7 @@ class MailtrapClientTest extends BaseSendTest { @BeforeEach void setUp() { final TestHttpClient httpClient = new TestHttpClient(List.of( - DataMock.build(Constants.EMAIL_TESTING_SEND_HOST + "/api/send/" + INBOX_ID, "POST", + DataMock.build(Constants.EMAIL_SANDBOX_SEND_HOST + "/api/send/" + SANDBOX_ID, "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json"), DataMock.build(Constants.BULK_SENDING_HOST + "/api/send", "POST", @@ -35,7 +35,7 @@ void setUp() { DataMock.build(Constants.EMAIL_SENDING_SEND_HOST + "/api/send", "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json"), - DataMock.build(Constants.EMAIL_TESTING_SEND_HOST + "/api/batch/" + INBOX_ID, "POST", + DataMock.build(Constants.EMAIL_SANDBOX_SEND_HOST + "/api/batch/" + SANDBOX_ID, "POST", "api/emails/batchSendRequest.json", "api/emails/batchSendResponse.json"), DataMock.build(Constants.BULK_SENDING_HOST + "/api/batch", "POST", @@ -72,7 +72,7 @@ void test_sendSandbox_success() { // Set up test data final MailtrapMail mailtrapMail = createValidTestMail(); - mailtrapClient.switchToEmailTestingApi(INBOX_ID); + mailtrapClient.switchToEmailSandboxApi(SANDBOX_ID); // Call final SendResponse response = mailtrapClient.send(mailtrapMail); @@ -113,7 +113,7 @@ void test_batchSendSandbox_success() { // Set up test data final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); - mailtrapClient.switchToEmailTestingApi(INBOX_ID); + mailtrapClient.switchToEmailSandboxApi(SANDBOX_ID); // Call final BatchSendResponse response = mailtrapClient.batchSend(batchMail); @@ -149,15 +149,15 @@ void test_bulkAndSandboxTrue_ThrowsBaseMailtrapException() { } @Test - void test_sandboxTrueAndInboxIdIsNull_ThrowsBaseMailtrapException() { + void test_sandboxTrueAndSandboxIdIsNull_ThrowsBaseMailtrapException() { // Set up test data and call final BaseMailtrapException exception = assertThrows(BaseMailtrapException.class, () -> new MailtrapConfig.Builder() .sandbox(true) - .inboxId(null) + .sandboxId(null) .build()); // Assert - assertEquals(INBOX_ID_REQUIRED, exception.getMessage()); + assertEquals(SANDBOX_ID_REQUIRED, exception.getMessage()); } } diff --git a/src/test/java/io/mailtrap/testutils/BaseSendTest.java b/src/test/java/io/mailtrap/testutils/BaseSendTest.java index daf1f49..0e224bd 100644 --- a/src/test/java/io/mailtrap/testutils/BaseSendTest.java +++ b/src/test/java/io/mailtrap/testutils/BaseSendTest.java @@ -10,9 +10,9 @@ public class BaseSendTest { - protected final long INBOX_ID = 4308; - protected final String BULK_AND_SANDBOX_TRUE_IN_SENDING_CONFIG = "Bulk mode is not applicable for Testing API"; - protected final String INBOX_ID_REQUIRED = "Testing API requires inbox ID"; + protected final long SANDBOX_ID = 4308; + protected final String BULK_AND_SANDBOX_TRUE_IN_SENDING_CONFIG = "Bulk mode is not applicable for Sandbox API"; + protected final String SANDBOX_ID_REQUIRED = "Sandbox API requires sandbox ID"; protected final String INVALID_REQUEST_EMPTY_BODY_FROM_EMAIL = "Invalid request body. Violations: from.email=must not be empty"; protected final String TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY = "When templateUuid is used, subject, text, and html must not be used"; protected final String TEMPLATE_VARIABLES_SHOULD_BE_USED_WITH_TEMPLATE_UUID = "Mail templateVariables must only be used with templateUuid"; diff --git a/src/test/java/io/mailtrap/testutils/BaseTest.java b/src/test/java/io/mailtrap/testutils/BaseTest.java index d53222e..a52d701 100644 --- a/src/test/java/io/mailtrap/testutils/BaseTest.java +++ b/src/test/java/io/mailtrap/testutils/BaseTest.java @@ -6,13 +6,13 @@ public class BaseTest { protected final Long accountId = 1L; protected final Long anotherAccountId = 2L; - protected final Long inboxId = 2L; + protected final Long sandboxId = 2L; protected final Long projectId = 2L; protected final Long anotherProjectId = 2L; protected final Long messageId = 3L; protected final Long attachmentId = 4L; protected final Long accountAccessId = 5L; - protected final Long sendingDomainId = 6L; + protected final Long domainId = 6L; protected final String email = "email@mailtrap.io"; protected final String emailEncoded = URLEncoder.encode(email, StandardCharsets.UTF_8); protected final String contactUUID = "018dd5e3-f6d2-7c00-8f9b-e5c3f2d8a132";