diff --git a/README.md b/README.md index 99154fb..b9a61d1 100644 --- a/README.md +++ b/README.md @@ -113,34 +113,34 @@ You can find the API reference [here](https://railsware.github.io/mailtrap-java/ ### General API -- [List User & Invite account accesses](examples/java/io/mailtrap/examples/general/AccountAccess.java) -- [Remove account access](examples/java/io/mailtrap/examples/general/Accounts.java) -- [Permissions](examples/java/io/mailtrap/examples/general/Permissions.java) -- [Current billing usage cycle](examples/java/io/mailtrap/examples/general/Billing.java) +- [List User & Invite account accesses](examples/java/io/mailtrap/examples/general/AccountAccessExample.java) +- [Remove account access](examples/java/io/mailtrap/examples/general/AccountsExample.java) +- [Permissions](examples/java/io/mailtrap/examples/general/PermissionsExample.java) +- [Current billing usage cycle](examples/java/io/mailtrap/examples/general/BillingExample.java) ### Sending API -- [Advanced](examples/java/io/mailtrap/examples/sending/Everything.java) -- [Minimal](examples/java/io/mailtrap/examples/sending/Minimal.java) -- [Error handling](examples/java/io/mailtrap/examples/sending/Errors.java) -- [Send email using template](examples/java/io/mailtrap/examples/sending/Template.java) +- [Advanced](examples/java/io/mailtrap/examples/sending/EverythingExample.java) +- [Minimal](examples/java/io/mailtrap/examples/sending/MinimalExample.java) +- [Error handling](examples/java/io/mailtrap/examples/sending/ErrorsExample.java) +- [Send email using template](examples/java/io/mailtrap/examples/sending/TemplateExample.java) ### Email Testing API -- [Attachments](examples/java/io/mailtrap/examples/testing/Attachments.java) -- [Inboxes](examples/java/io/mailtrap/examples/testing/Inboxes.java) -- [Messages](examples/java/io/mailtrap/examples/testing/Messages.java) -- [Projects](examples/java/io/mailtrap/examples/testing/Projects.java) -- [Send mail using template](examples/java/io/mailtrap/examples/testing/Email.java) +- [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) +- [Send mail using template](examples/java/io/mailtrap/examples/testing/EmailExample.java) ### Bulk Sending API -- [Send mail](examples/java/io/mailtrap/examples/bulk/BulkSend.java) +- [Send mail](examples/java/io/mailtrap/examples/bulk/BulkSendExample.java) ### Contacts API -- [Contacts](examples/java/io/mailtrap/examples/contacts/Contacts.java) -- [Contact lists](examples/java/io/mailtrap/examples/contactlists/ContactLists.java) +- [Contacts](examples/java/io/mailtrap/examples/contacts/ContactsExample.java) +- [Contact lists](examples/java/io/mailtrap/examples/contactlists/ContactListsExample.java) ## Contributing diff --git a/examples/java/io/mailtrap/examples/bulk/Batch.java b/examples/java/io/mailtrap/examples/bulk/BatchExample.java similarity index 98% rename from examples/java/io/mailtrap/examples/bulk/Batch.java rename to examples/java/io/mailtrap/examples/bulk/BatchExample.java index 65bc1ef..4cf692e 100644 --- a/examples/java/io/mailtrap/examples/bulk/Batch.java +++ b/examples/java/io/mailtrap/examples/bulk/BatchExample.java @@ -10,7 +10,7 @@ import java.util.List; import java.util.Map; -public class Batch { +public class BatchExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/bulk/BulkSend.java b/examples/java/io/mailtrap/examples/bulk/BulkSendExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/bulk/BulkSend.java rename to examples/java/io/mailtrap/examples/bulk/BulkSendExample.java index 6038126..46fb0f6 100644 --- a/examples/java/io/mailtrap/examples/bulk/BulkSend.java +++ b/examples/java/io/mailtrap/examples/bulk/BulkSendExample.java @@ -7,7 +7,7 @@ import java.util.List; -public class BulkSend { +public class BulkSendExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/contactfields/ContactFields.java b/examples/java/io/mailtrap/examples/contactfields/ContactFieldsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/contactfields/ContactFields.java rename to examples/java/io/mailtrap/examples/contactfields/ContactFieldsExample.java index b8aadcb..2847362 100644 --- a/examples/java/io/mailtrap/examples/contactfields/ContactFields.java +++ b/examples/java/io/mailtrap/examples/contactfields/ContactFieldsExample.java @@ -10,7 +10,7 @@ import java.util.List; import java.util.Map; -public class ContactFields { +public class ContactFieldsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/contactimports/ContactImports.java b/examples/java/io/mailtrap/examples/contactimports/ContactImportsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/contactimports/ContactImports.java rename to examples/java/io/mailtrap/examples/contactimports/ContactImportsExample.java index fa3cde1..ec7e2b2 100644 --- a/examples/java/io/mailtrap/examples/contactimports/ContactImports.java +++ b/examples/java/io/mailtrap/examples/contactimports/ContactImportsExample.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; -public class ContactImports { +public class ContactImportsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/contactlists/ContactLists.java b/examples/java/io/mailtrap/examples/contactlists/ContactListsExample.java similarity index 94% rename from examples/java/io/mailtrap/examples/contactlists/ContactLists.java rename to examples/java/io/mailtrap/examples/contactlists/ContactListsExample.java index a023140..e4f917c 100644 --- a/examples/java/io/mailtrap/examples/contactlists/ContactLists.java +++ b/examples/java/io/mailtrap/examples/contactlists/ContactListsExample.java @@ -3,7 +3,7 @@ import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; -public class ContactLists { +public class ContactListsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/contacts/Contacts.java b/examples/java/io/mailtrap/examples/contacts/ContactsExample.java similarity index 98% rename from examples/java/io/mailtrap/examples/contacts/Contacts.java rename to examples/java/io/mailtrap/examples/contacts/ContactsExample.java index 7da4bd5..be9ad1a 100644 --- a/examples/java/io/mailtrap/examples/contacts/Contacts.java +++ b/examples/java/io/mailtrap/examples/contacts/ContactsExample.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; -public class Contacts { +public class ContactsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/emailtemplates/EmailTemplates.java b/examples/java/io/mailtrap/examples/emailtemplates/EmailTemplatesExample.java similarity index 93% rename from examples/java/io/mailtrap/examples/emailtemplates/EmailTemplates.java rename to examples/java/io/mailtrap/examples/emailtemplates/EmailTemplatesExample.java index a63e4f9..5fe3820 100644 --- a/examples/java/io/mailtrap/examples/emailtemplates/EmailTemplates.java +++ b/examples/java/io/mailtrap/examples/emailtemplates/EmailTemplatesExample.java @@ -9,7 +9,7 @@ import java.util.List; -public class EmailTemplates { +public class EmailTemplatesExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; @@ -25,8 +25,6 @@ public static void main(String[] args) { .token(TOKEN) .build(); - new EmailTemplate(EMAIL_TEMPLATE_NAME, EMAIL_TEMPLATE_CATEGORY, EMAIL_TEMPLATE_SUBJECT, EMAIL_TEMPLATE_BODY_TEXT, EMAIL_TEMPLATE_BODY_HTML); - final var client = MailtrapClientFactory.createMailtrapClient(config); final var createRequest = new CreateEmailTemplateRequest( diff --git a/examples/java/io/mailtrap/examples/general/AccountAccess.java b/examples/java/io/mailtrap/examples/general/AccountAccessExample.java similarity index 96% rename from examples/java/io/mailtrap/examples/general/AccountAccess.java rename to examples/java/io/mailtrap/examples/general/AccountAccessExample.java index 1a23fe8..1e4fb3f 100644 --- a/examples/java/io/mailtrap/examples/general/AccountAccess.java +++ b/examples/java/io/mailtrap/examples/general/AccountAccessExample.java @@ -6,7 +6,7 @@ import java.util.List; -public class AccountAccess { +public class AccountAccessExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/general/Accounts.java b/examples/java/io/mailtrap/examples/general/AccountsExample.java similarity index 94% rename from examples/java/io/mailtrap/examples/general/Accounts.java rename to examples/java/io/mailtrap/examples/general/AccountsExample.java index 72bc39c..941e153 100644 --- a/examples/java/io/mailtrap/examples/general/Accounts.java +++ b/examples/java/io/mailtrap/examples/general/AccountsExample.java @@ -3,7 +3,7 @@ import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; -public class Accounts { +public class AccountsExample { private static final String TOKEN = ""; diff --git a/examples/java/io/mailtrap/examples/general/Billing.java b/examples/java/io/mailtrap/examples/general/BillingExample.java similarity index 95% rename from examples/java/io/mailtrap/examples/general/Billing.java rename to examples/java/io/mailtrap/examples/general/BillingExample.java index 6633bdd..c140cff 100644 --- a/examples/java/io/mailtrap/examples/general/Billing.java +++ b/examples/java/io/mailtrap/examples/general/BillingExample.java @@ -3,7 +3,7 @@ import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; -public class Billing { +public class BillingExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/general/Permissions.java b/examples/java/io/mailtrap/examples/general/PermissionsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/general/Permissions.java rename to examples/java/io/mailtrap/examples/general/PermissionsExample.java index efbd1c8..bdcb988 100644 --- a/examples/java/io/mailtrap/examples/general/Permissions.java +++ b/examples/java/io/mailtrap/examples/general/PermissionsExample.java @@ -9,7 +9,7 @@ import java.util.List; -public class Permissions { +public class PermissionsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/sending/Batch.java b/examples/java/io/mailtrap/examples/sending/BatchExample.java similarity index 100% rename from examples/java/io/mailtrap/examples/sending/Batch.java rename to examples/java/io/mailtrap/examples/sending/BatchExample.java diff --git a/examples/java/io/mailtrap/examples/sending/Errors.java b/examples/java/io/mailtrap/examples/sending/ErrorsExample.java similarity index 98% rename from examples/java/io/mailtrap/examples/sending/Errors.java rename to examples/java/io/mailtrap/examples/sending/ErrorsExample.java index 637e9db..aac1d45 100644 --- a/examples/java/io/mailtrap/examples/sending/Errors.java +++ b/examples/java/io/mailtrap/examples/sending/ErrorsExample.java @@ -10,7 +10,7 @@ import java.util.List; import java.util.UUID; -public class Errors { +public class ErrorsExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/sending/Everything.java b/examples/java/io/mailtrap/examples/sending/EverythingExample.java similarity index 99% rename from examples/java/io/mailtrap/examples/sending/Everything.java rename to examples/java/io/mailtrap/examples/sending/EverythingExample.java index b61d240..6ff2c07 100644 --- a/examples/java/io/mailtrap/examples/sending/Everything.java +++ b/examples/java/io/mailtrap/examples/sending/EverythingExample.java @@ -11,7 +11,7 @@ import java.util.List; import java.util.Map; -public class Everything { +public class EverythingExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/sending/Minimal.java b/examples/java/io/mailtrap/examples/sending/MinimalExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/sending/Minimal.java rename to examples/java/io/mailtrap/examples/sending/MinimalExample.java index f7211ce..f93abbc 100644 --- a/examples/java/io/mailtrap/examples/sending/Minimal.java +++ b/examples/java/io/mailtrap/examples/sending/MinimalExample.java @@ -7,7 +7,7 @@ import java.util.List; -public class Minimal { +public class MinimalExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/sending/Template.java b/examples/java/io/mailtrap/examples/sending/TemplateExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/sending/Template.java rename to examples/java/io/mailtrap/examples/sending/TemplateExample.java index 0b9e096..475eaaf 100644 --- a/examples/java/io/mailtrap/examples/sending/Template.java +++ b/examples/java/io/mailtrap/examples/sending/TemplateExample.java @@ -8,7 +8,7 @@ import java.util.List; import java.util.Map; -public class Template { +public class TemplateExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/sendingdomains/SendingDomains.java b/examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/sendingdomains/SendingDomains.java rename to examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java index 1ded617..5d6b53e 100644 --- a/examples/java/io/mailtrap/examples/sendingdomains/SendingDomains.java +++ b/examples/java/io/mailtrap/examples/sendingdomains/SendingDomainsExample.java @@ -7,7 +7,7 @@ import static io.mailtrap.model.request.sendingdomains.CreateSendingDomainRequest.SendingDomainData; -public class SendingDomains { +public class SendingDomainsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/suppressions/Suppressions.java b/examples/java/io/mailtrap/examples/suppressions/SuppressionsExample.java similarity index 96% rename from examples/java/io/mailtrap/examples/suppressions/Suppressions.java rename to examples/java/io/mailtrap/examples/suppressions/SuppressionsExample.java index f1db2d0..cab7a6e 100644 --- a/examples/java/io/mailtrap/examples/suppressions/Suppressions.java +++ b/examples/java/io/mailtrap/examples/suppressions/SuppressionsExample.java @@ -3,7 +3,7 @@ import io.mailtrap.config.MailtrapConfig; import io.mailtrap.factory.MailtrapClientFactory; -public class Suppressions { +public class SuppressionsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/testing/Attachments.java b/examples/java/io/mailtrap/examples/testing/AttachmentsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/testing/Attachments.java rename to examples/java/io/mailtrap/examples/testing/AttachmentsExample.java index 46f6a49..0c021ef 100644 --- a/examples/java/io/mailtrap/examples/testing/Attachments.java +++ b/examples/java/io/mailtrap/examples/testing/AttachmentsExample.java @@ -4,7 +4,7 @@ import io.mailtrap.factory.MailtrapClientFactory; import io.mailtrap.model.request.accountaccesses.ListMessagesQueryParams; -public class Attachments { +public class AttachmentsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/testing/Batch.java b/examples/java/io/mailtrap/examples/testing/BatchExample.java similarity index 98% rename from examples/java/io/mailtrap/examples/testing/Batch.java rename to examples/java/io/mailtrap/examples/testing/BatchExample.java index f5b46d4..b7cb7df 100644 --- a/examples/java/io/mailtrap/examples/testing/Batch.java +++ b/examples/java/io/mailtrap/examples/testing/BatchExample.java @@ -10,7 +10,7 @@ import java.util.List; import java.util.Map; -public class Batch { +public class BatchExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/testing/Email.java b/examples/java/io/mailtrap/examples/testing/EmailExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/testing/Email.java rename to examples/java/io/mailtrap/examples/testing/EmailExample.java index 47fa5f0..58f4e8a 100644 --- a/examples/java/io/mailtrap/examples/testing/Email.java +++ b/examples/java/io/mailtrap/examples/testing/EmailExample.java @@ -8,7 +8,7 @@ import java.util.List; import java.util.Map; -public class Email { +public class EmailExample { private static final String TOKEN = ""; private static final String SENDER_EMAIL = "sender@domain.com"; diff --git a/examples/java/io/mailtrap/examples/testing/Inboxes.java b/examples/java/io/mailtrap/examples/testing/InboxesExample.java similarity index 98% rename from examples/java/io/mailtrap/examples/testing/Inboxes.java rename to examples/java/io/mailtrap/examples/testing/InboxesExample.java index c49f0e5..4fe1f53 100644 --- a/examples/java/io/mailtrap/examples/testing/Inboxes.java +++ b/examples/java/io/mailtrap/examples/testing/InboxesExample.java @@ -5,7 +5,7 @@ import io.mailtrap.model.request.inboxes.CreateInboxRequest; import io.mailtrap.model.request.inboxes.UpdateInboxRequest; -public class Inboxes { +public class InboxesExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/examples/java/io/mailtrap/examples/testing/Messages.java b/examples/java/io/mailtrap/examples/testing/MessagesExample.java similarity index 99% rename from examples/java/io/mailtrap/examples/testing/Messages.java rename to examples/java/io/mailtrap/examples/testing/MessagesExample.java index 74f11e3..6289dfd 100644 --- a/examples/java/io/mailtrap/examples/testing/Messages.java +++ b/examples/java/io/mailtrap/examples/testing/MessagesExample.java @@ -6,7 +6,7 @@ import io.mailtrap.model.request.messages.ForwardMessageRequest; import io.mailtrap.model.request.messages.UpdateMessageRequest; -public class Messages { +public class MessagesExample { private static final String TOKEN = ""; private static final String FORWARD_EMAIL_TO = "recipient@domain.com"; diff --git a/examples/java/io/mailtrap/examples/testing/Projects.java b/examples/java/io/mailtrap/examples/testing/ProjectsExample.java similarity index 97% rename from examples/java/io/mailtrap/examples/testing/Projects.java rename to examples/java/io/mailtrap/examples/testing/ProjectsExample.java index c6ad8b9..8179be5 100644 --- a/examples/java/io/mailtrap/examples/testing/Projects.java +++ b/examples/java/io/mailtrap/examples/testing/ProjectsExample.java @@ -4,7 +4,7 @@ import io.mailtrap.factory.MailtrapClientFactory; import io.mailtrap.model.request.projects.CreateUpdateProjectRequest; -public class Projects { +public class ProjectsExample { private static final String TOKEN = ""; private static final long ACCOUNT_ID = 1L; diff --git a/src/main/java/io/mailtrap/CustomValidator.java b/src/main/java/io/mailtrap/CustomValidator.java index d2fea84..b1523a5 100644 --- a/src/main/java/io/mailtrap/CustomValidator.java +++ b/src/main/java/io/mailtrap/CustomValidator.java @@ -12,7 +12,7 @@ public class CustomValidator { private final Validator validator; - public CustomValidator(Validator validator) { + public CustomValidator(final Validator validator) { this.validator = validator; } @@ -26,7 +26,7 @@ public CustomValidator(Validator validator) { * @param objectToValidate the object to validate * @return a map of validation errors, with property names as keys and error messages as values */ - public Map validate(T objectToValidate) { + public Map validate(final T objectToValidate) { final var violations = validator.validate(objectToValidate); final var errors = new HashMap(); @@ -48,7 +48,7 @@ public Map validate(T objectToValidate) { * @param objectToValidate the object to validate * @return a string representation of the validation errors, or an empty string if there are no errors */ - public String validateAndGetViolationsAsString(T objectToValidate) { + public String validateAndGetViolationsAsString(final T objectToValidate) { return this.validate(objectToValidate).entrySet().stream() .map(violation -> violation.getKey() + "=" + violation.getValue()) .collect(Collectors.joining("; ")); diff --git a/src/main/java/io/mailtrap/Mapper.java b/src/main/java/io/mailtrap/Mapper.java index a397119..016d48e 100644 --- a/src/main/java/io/mailtrap/Mapper.java +++ b/src/main/java/io/mailtrap/Mapper.java @@ -17,7 +17,6 @@ public class Mapper { private static final ObjectMapper mapper = JsonMapper.builder() .disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) - .serializationInclusion(JsonInclude.Include.NON_NULL) .serializationInclusion(JsonInclude.Include.NON_EMPTY) .addModule(new SimpleModule().addDeserializer(ErrorResponse.class, new ErrorResponseDeserializer())) .addModule(new JavaTimeModule()) diff --git a/src/main/java/io/mailtrap/api/accountaccesses/AccountAccessesImpl.java b/src/main/java/io/mailtrap/api/accountaccesses/AccountAccessesImpl.java index ccfe346..8d9af63 100644 --- a/src/main/java/io/mailtrap/api/accountaccesses/AccountAccessesImpl.java +++ b/src/main/java/io/mailtrap/api/accountaccesses/AccountAccessesImpl.java @@ -16,31 +16,31 @@ public class AccountAccessesImpl extends ApiResource implements AccountAccesses { - public AccountAccessesImpl(MailtrapConfig config) { + public AccountAccessesImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public List listUserAndInviteAccountAccesses(long accountId, @NonNull ListAccountAccessQueryParams params) { - var queryParams = RequestData.buildQueryParams( - entry("domain_uuids", Optional.ofNullable(params.getDomainUuids())), - entry("inbox_ids", Optional.ofNullable(params.getInboxIds())), - entry("project_ids", Optional.ofNullable(params.getProjectIds()))); + public List listUserAndInviteAccountAccesses(final long accountId, @NonNull final ListAccountAccessQueryParams params) { + final var queryParams = RequestData.buildQueryParams( + entry("domain_uuids", Optional.ofNullable(params.getDomainUuids())), + entry("inbox_ids", Optional.ofNullable(params.getInboxIds())), + entry("project_ids", Optional.ofNullable(params.getProjectIds()))); return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/account_accesses", accountId), - new RequestData(queryParams), - AccountAccessResponse.class + String.format(apiHost + "/api/accounts/%d/account_accesses", accountId), + new RequestData(queryParams), + AccountAccessResponse.class ); } @Override - public RemoveAccountAccessResponse removeAccountAccess(long accountAccessId, long accountId) { + public RemoveAccountAccessResponse removeAccountAccess(final long accountAccessId, final long accountId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%s/account_accesses/%s", accountId, accountAccessId), - new RequestData(), - RemoveAccountAccessResponse.class + String.format(apiHost + "/api/accounts/%d/account_accesses/%d", accountId, accountAccessId), + new RequestData(), + RemoveAccountAccessResponse.class ); } } diff --git a/src/main/java/io/mailtrap/api/accounts/AccountsImpl.java b/src/main/java/io/mailtrap/api/accounts/AccountsImpl.java index 1507f4e..44d4aed 100644 --- a/src/main/java/io/mailtrap/api/accounts/AccountsImpl.java +++ b/src/main/java/io/mailtrap/api/accounts/AccountsImpl.java @@ -10,7 +10,7 @@ public class AccountsImpl extends ApiResource implements Accounts { - public AccountsImpl(MailtrapConfig config) { + public AccountsImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @@ -18,9 +18,9 @@ public AccountsImpl(MailtrapConfig config) { @Override public List getAllAccounts() { return httpClient.getList( - String.format(apiHost + "/api/accounts"), - new RequestData(), - AccountsResponse.class + String.format(apiHost + "/api/accounts"), + new RequestData(), + AccountsResponse.class ); } } diff --git a/src/main/java/io/mailtrap/api/apiresource/ApiResource.java b/src/main/java/io/mailtrap/api/apiresource/ApiResource.java index a3fd668..a3449a2 100644 --- a/src/main/java/io/mailtrap/api/apiresource/ApiResource.java +++ b/src/main/java/io/mailtrap/api/apiresource/ApiResource.java @@ -13,21 +13,19 @@ public abstract class ApiResource { * HTTP client for making API requests. */ protected final CustomHttpClient httpClient; - - /** - * The API host - */ - protected String apiHost; - /** * The authentication token used for API requests. */ protected final String token; + /** + * The API host + */ + protected String apiHost; - protected ApiResource(MailtrapConfig config) { + protected ApiResource(final MailtrapConfig config) { this.httpClient = config.getHttpClient() != null - ? config.getHttpClient() - : new DefaultMailtrapHttpClient(config); + ? config.getHttpClient() + : new DefaultMailtrapHttpClient(config); this.token = config.getToken(); } diff --git a/src/main/java/io/mailtrap/api/apiresource/ApiResourceWithValidation.java b/src/main/java/io/mailtrap/api/apiresource/ApiResourceWithValidation.java index da9ac77..2b4214f 100644 --- a/src/main/java/io/mailtrap/api/apiresource/ApiResourceWithValidation.java +++ b/src/main/java/io/mailtrap/api/apiresource/ApiResourceWithValidation.java @@ -11,13 +11,17 @@ public abstract class ApiResourceWithValidation extends ApiResource { */ protected final CustomValidator customValidator; - protected ApiResourceWithValidation(MailtrapConfig config, CustomValidator customValidator) { + protected ApiResourceWithValidation(final MailtrapConfig config, final CustomValidator customValidator) { super(config); this.customValidator = customValidator; } - protected void validateRequestBodyAndThrowException(T object) { - String violations = customValidator.validateAndGetViolationsAsString(object); + protected void validateRequestBodyAndThrowException(final T object) { + if (object == null) { + throw new InvalidRequestBodyException("Invalid request body. Violations: request must not be null"); + } + + final String violations = customValidator.validateAndGetViolationsAsString(object); if (!violations.isEmpty()) { throw new InvalidRequestBodyException("Invalid request body. Violations: " + violations); diff --git a/src/main/java/io/mailtrap/api/apiresource/SendApiResource.java b/src/main/java/io/mailtrap/api/apiresource/SendApiResource.java index 0220021..35bbfeb 100644 --- a/src/main/java/io/mailtrap/api/apiresource/SendApiResource.java +++ b/src/main/java/io/mailtrap/api/apiresource/SendApiResource.java @@ -20,7 +20,7 @@ */ public abstract class SendApiResource extends ApiResourceWithValidation { - protected SendApiResource(MailtrapConfig config, CustomValidator customValidator) { + protected SendApiResource(final MailtrapConfig config, final CustomValidator customValidator) { super(config, customValidator); } @@ -30,7 +30,7 @@ protected SendApiResource(MailtrapConfig config, CustomValidator customValidator * @param mail The email message to be validated. * @throws InvalidRequestBodyException If the request body is invalid. */ - protected void validateMailPayload(MailtrapMail mail) { + protected void validateMailPayload(final MailtrapMail mail) { if (mail == null) { throw new InvalidRequestBodyException("Mail must not be null"); } @@ -48,19 +48,19 @@ protected void validateMailPayload(MailtrapMail mail) { * @param batch batch request to be validated. * @throws InvalidRequestBodyException If the request body is invalid. */ - protected void validateBatchPayload(MailtrapBatchMail batch) { + protected void validateBatchPayload(final MailtrapBatchMail batch) { assertBatchMailNotNull(batch); - BatchEmailBase base = batch.getBase(); + final BatchEmailBase base = batch.getBase(); for (int i = 0; i < batch.getRequests().size(); i++) { - MailtrapMail mail = batch.getRequests().get(i); - ResolvedMailView mailView = new ResolvedMailView(base, mail); + final MailtrapMail mail = batch.getRequests().get(i); + final ResolvedMailView mailView = new ResolvedMailView(base, mail); try { // Perform bean validation (NotNull, etc.) validateRequestBodyAndThrowException(mailView); - } catch (InvalidRequestBodyException e) { + } catch (final InvalidRequestBodyException e) { throw new InvalidRequestBodyException("requests[" + i + "]: " + e.getMessage(), e); } @@ -72,7 +72,7 @@ protected void validateBatchPayload(MailtrapBatchMail batch) { } } - private void assertBatchMailNotNull(MailtrapBatchMail batchMail) { + private void assertBatchMailNotNull(final MailtrapBatchMail batchMail) { if (batchMail == null) { throw new InvalidRequestBodyException("BatchMail must not be null"); } @@ -85,10 +85,10 @@ private void assertBatchMailNotNull(MailtrapBatchMail batchMail) { } - private void validateContentRules(ContentView v) { - boolean templateUuidBlank = StringUtils.isBlank(v.getTemplateUuid()); + private void validateContentRules(final ContentView v) { + final boolean templateUuidBlank = StringUtils.isBlank(v.getTemplateUuid()); - boolean subjectTextHtmlEmpty = StringUtils.isBlank(v.getSubject()) + final boolean subjectTextHtmlEmpty = StringUtils.isBlank(v.getSubject()) && StringUtils.isBlank(v.getText()) && StringUtils.isBlank(v.getHtml()); diff --git a/src/main/java/io/mailtrap/api/attachments/Attachments.java b/src/main/java/io/mailtrap/api/attachments/Attachments.java index fa3f3b4..de001ea 100644 --- a/src/main/java/io/mailtrap/api/attachments/Attachments.java +++ b/src/main/java/io/mailtrap/api/attachments/Attachments.java @@ -13,9 +13,9 @@ public interface Attachments { /** * Get message single attachment by ID * - * @param accountId - unique account ID - * @param inboxId - unique inbox ID - * @param messageId - unique message ID + * @param accountId - unique account ID + * @param inboxId - unique inbox ID + * @param messageId - unique message ID * @param attachmentId - unique attachment ID * @return attachment details and download path */ @@ -24,9 +24,9 @@ public interface Attachments { /** * Get message attachments by inboxId and messageId * - * @param accountId - unique account ID - * @param inboxId - unique inbox ID - * @param messageId - unique message ID + * @param accountId - unique account ID + * @param inboxId - unique inbox ID + * @param messageId - unique message ID * @param attachmentType - attachment type; optional query param * @return attachments with their details and download paths */ diff --git a/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java b/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java index 380421c..50fc47c 100644 --- a/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java +++ b/src/main/java/io/mailtrap/api/attachments/AttachmentsImpl.java @@ -13,27 +13,27 @@ public class AttachmentsImpl extends ApiResource implements Attachments { - public AttachmentsImpl(MailtrapConfig config) { + public AttachmentsImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public AttachmentResponse getSingleAttachment(long accountId, long inboxId, long messageId, long attachmentId) { + public AttachmentResponse getSingleAttachment(final long accountId, final long inboxId, final long messageId, final long attachmentId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/attachments/%s", accountId, inboxId, messageId, attachmentId), - new RequestData(), - AttachmentResponse.class); + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments/%d", accountId, inboxId, messageId, attachmentId), + new RequestData(), + AttachmentResponse.class); } @Override - public List getAttachments(long accountId, long inboxId, long messageId, String attachmentType) { - var queryParams = RequestData.buildQueryParams( - entry("attachment_type", Optional.ofNullable(attachmentType))); + public List getAttachments(final long accountId, final long inboxId, 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/%s/inboxes/%s/messages/%s/attachments", accountId, inboxId, messageId), - new RequestData(queryParams), - AttachmentResponse.class); + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/attachments", accountId, inboxId, messageId), + new RequestData(queryParams), + AttachmentResponse.class); } } diff --git a/src/main/java/io/mailtrap/api/billing/BillingImpl.java b/src/main/java/io/mailtrap/api/billing/BillingImpl.java index a2b9afa..0cee675 100644 --- a/src/main/java/io/mailtrap/api/billing/BillingImpl.java +++ b/src/main/java/io/mailtrap/api/billing/BillingImpl.java @@ -8,16 +8,16 @@ public class BillingImpl extends ApiResource implements Billing { - public BillingImpl(MailtrapConfig config) { + public BillingImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public BillingResponse getCurrentBillingCycleUsage(long accountId) { + public BillingResponse getCurrentBillingCycleUsage(final long accountId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/billing/usage", accountId), - new RequestData(), - BillingResponse.class); + String.format(apiHost + "/api/accounts/%d/billing/usage", accountId), + new RequestData(), + BillingResponse.class); } } diff --git a/src/main/java/io/mailtrap/api/bulkemails/BulkEmailsImpl.java b/src/main/java/io/mailtrap/api/bulkemails/BulkEmailsImpl.java index c5ce8b0..7d89151 100644 --- a/src/main/java/io/mailtrap/api/bulkemails/BulkEmailsImpl.java +++ b/src/main/java/io/mailtrap/api/bulkemails/BulkEmailsImpl.java @@ -17,27 +17,39 @@ */ public class BulkEmailsImpl extends SendApiResource implements BulkEmails { - public BulkEmailsImpl(MailtrapConfig config, CustomValidator customValidator) { + public BulkEmailsImpl(final MailtrapConfig config, final CustomValidator customValidator) { super(config, customValidator); this.apiHost = Constants.BULK_SENDING_HOST; } @Override - public SendResponse send(MailtrapMail mail) { + public SendResponse send(final MailtrapMail mail) { validateMailPayload(mail); - RequestData requestData = new RequestData(); + + final RequestData requestData = new RequestData(); if (mail.getHeaders() != null) { requestData.setHeaders(mail.getHeaders()); } - return httpClient.post(apiHost + "/api/send", mail, requestData, SendResponse.class); + + return httpClient.post( + apiHost + "/api/send", + mail, + requestData, + SendResponse.class + ); } @Override - public BatchSendResponse batchSend(MailtrapBatchMail mail) throws HttpException, InvalidRequestBodyException { + public BatchSendResponse batchSend(final MailtrapBatchMail mail) throws HttpException, InvalidRequestBodyException { validateBatchPayload(mail); return - httpClient.post(apiHost + "/api/batch", mail, new RequestData(), BatchSendResponse.class); + httpClient.post( + apiHost + "/api/batch", + mail, + new RequestData(), + BatchSendResponse.class + ); } } diff --git a/src/main/java/io/mailtrap/api/contactfields/ContactFields.java b/src/main/java/io/mailtrap/api/contactfields/ContactFields.java index c12f327..3bc036a 100644 --- a/src/main/java/io/mailtrap/api/contactfields/ContactFields.java +++ b/src/main/java/io/mailtrap/api/contactfields/ContactFields.java @@ -8,49 +8,49 @@ public interface ContactFields { - /** - * Get all Contact Fields existing in your account - * - * @param accountId unique account ID - * @return existing contact fields - */ - List getAllContactFields(long accountId); - - /** - * Create new Contact Fields (up to 40) - * - * @param accountId unique account ID - * @param request contact field data - * @return attributes of the created contact field - */ - ContactFieldResponse createContactField(long accountId, CreateContactFieldRequest request); - - /** - * Get Contact Field by id - * - * @param accountId unique account ID - * @param fieldId Unique Contact Field ID - * @return attributes of the contact field - */ - ContactFieldResponse getContactField(long accountId, long fieldId); - - /** - * Update existing Contact Field - * - * @param accountId unique account ID - * @param fieldId Unique Contact Field ID - * @param request update data. You cannot change data_type of the field - * @return attributes of the contact field - */ - ContactFieldResponse updateContactField(long accountId, long fieldId, UpdateContactFieldRequest request); - - /** - * Delete existing Contact Field. - * You cannot delete a Contact Field which is used in Automations, Email Campaigns, and in conditions of Contact Segments - * - * @param accountId unique account ID - * @param fieldId Unique Contact Field ID - */ - void deleteContactField(long accountId, long fieldId); + /** + * Get all Contact Fields existing in your account + * + * @param accountId unique account ID + * @return existing contact fields + */ + List getAllContactFields(long accountId); + + /** + * Create new Contact Fields (up to 40) + * + * @param accountId unique account ID + * @param request contact field data + * @return attributes of the created contact field + */ + ContactFieldResponse createContactField(long accountId, CreateContactFieldRequest request); + + /** + * Get Contact Field by id + * + * @param accountId unique account ID + * @param fieldId Unique Contact Field ID + * @return attributes of the contact field + */ + ContactFieldResponse getContactField(long accountId, long fieldId); + + /** + * Update existing Contact Field + * + * @param accountId unique account ID + * @param fieldId Unique Contact Field ID + * @param request update data. You cannot change data_type of the field + * @return attributes of the contact field + */ + ContactFieldResponse updateContactField(long accountId, long fieldId, UpdateContactFieldRequest request); + + /** + * Delete existing Contact Field. + * You cannot delete a Contact Field which is used in Automations, Email Campaigns, and in conditions of Contact Segments + * + * @param accountId unique account ID + * @param fieldId Unique Contact Field ID + */ + void deleteContactField(long accountId, long fieldId); } diff --git a/src/main/java/io/mailtrap/api/contactfields/ContactFieldsImpl.java b/src/main/java/io/mailtrap/api/contactfields/ContactFieldsImpl.java index eb4490b..63fc3b6 100644 --- a/src/main/java/io/mailtrap/api/contactfields/ContactFieldsImpl.java +++ b/src/main/java/io/mailtrap/api/contactfields/ContactFieldsImpl.java @@ -14,61 +14,61 @@ public class ContactFieldsImpl extends ApiResourceWithValidation implements ContactFields { - public ContactFieldsImpl(MailtrapConfig config, CustomValidator customValidator) { - super(config, customValidator); - this.apiHost = GENERAL_HOST; - } + public ContactFieldsImpl(final MailtrapConfig config, final CustomValidator customValidator) { + super(config, customValidator); + this.apiHost = GENERAL_HOST; + } - @Override - public List getAllContactFields(long accountId) { - return httpClient.getList( - String.format(apiHost + "/api/accounts/%d/contacts/fields", accountId), - new RequestData(), - ContactFieldResponse.class - ); - } + @Override + public List getAllContactFields(final long accountId) { + return httpClient.getList( + String.format(apiHost + "/api/accounts/%d/contacts/fields", accountId), + new RequestData(), + ContactFieldResponse.class + ); + } - @Override - public ContactFieldResponse createContactField(long accountId, CreateContactFieldRequest request) { + @Override + public ContactFieldResponse createContactField(final long accountId, CreateContactFieldRequest request) { - validateRequestBodyAndThrowException(request); + validateRequestBodyAndThrowException(request); - return httpClient.post( - String.format(apiHost + "/api/accounts/%d/contacts/fields", accountId), - request, - new RequestData(), - ContactFieldResponse.class - ); - } + return httpClient.post( + String.format(apiHost + "/api/accounts/%d/contacts/fields", accountId), + request, + new RequestData(), + ContactFieldResponse.class + ); + } - @Override - public ContactFieldResponse getContactField(long accountId, long fieldId) { - return httpClient.get( - String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), - new RequestData(), - ContactFieldResponse.class - ); - } + @Override + public ContactFieldResponse getContactField(final long accountId, final long fieldId) { + return httpClient.get( + String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), + new RequestData(), + ContactFieldResponse.class + ); + } - @Override - public ContactFieldResponse updateContactField(long accountId, long fieldId, UpdateContactFieldRequest request) { + @Override + public ContactFieldResponse updateContactField(final long accountId, final long fieldId, UpdateContactFieldRequest request) { - validateRequestBodyAndThrowException(request); + validateRequestBodyAndThrowException(request); - return httpClient.patch( - String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), - request, - new RequestData(), - ContactFieldResponse.class - ); - } + return httpClient.patch( + String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), + request, + new RequestData(), + ContactFieldResponse.class + ); + } - @Override - public void deleteContactField(long accountId, long fieldId) { - httpClient.delete( - String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), - new RequestData(), - Void.class - ); - } + @Override + public void deleteContactField(final long accountId, final long fieldId) { + httpClient.delete( + String.format(apiHost + "/api/accounts/%d/contacts/fields/%d", accountId, fieldId), + new RequestData(), + Void.class + ); + } } diff --git a/src/main/java/io/mailtrap/api/contactimports/ContactImports.java b/src/main/java/io/mailtrap/api/contactimports/ContactImports.java index 540b238..d982f73 100644 --- a/src/main/java/io/mailtrap/api/contactimports/ContactImports.java +++ b/src/main/java/io/mailtrap/api/contactimports/ContactImports.java @@ -6,23 +6,23 @@ public interface ContactImports { - /** - * Import contacts in bulk with support for custom fields and list management. - * Existing contacts with matching email addresses will be updated automatically. - * Up to 50,000 contacts per request - * - * @param accountId unique account ID - * @param request request body - * @return contact data - */ - CreateContactsImportResponse importContacts(long accountId, ImportContactsRequest request); + /** + * Import contacts in bulk with support for custom fields and list management. + * Existing contacts with matching email addresses will be updated automatically. + * Up to 50,000 contacts per request + * + * @param accountId unique account ID + * @param request request body + * @return contact data + */ + CreateContactsImportResponse importContacts(long accountId, ImportContactsRequest request); - /** - * Get Contact Import - * - * @param accountId unique account ID - * @param importId unique Contact Import ID - * @return contact data - */ - ContactsImportResponse getContactImport(long accountId, long importId); + /** + * Get Contact Import + * + * @param accountId unique account ID + * @param importId unique Contact Import ID + * @return contact data + */ + ContactsImportResponse getContactImport(long accountId, long importId); } diff --git a/src/main/java/io/mailtrap/api/contactimports/ContactImportsImpl.java b/src/main/java/io/mailtrap/api/contactimports/ContactImportsImpl.java index 16d7a58..28b12e4 100644 --- a/src/main/java/io/mailtrap/api/contactimports/ContactImportsImpl.java +++ b/src/main/java/io/mailtrap/api/contactimports/ContactImportsImpl.java @@ -11,30 +11,30 @@ public class ContactImportsImpl extends ApiResourceWithValidation implements ContactImports { - public ContactImportsImpl(final MailtrapConfig config, final CustomValidator validator) { - super(config, validator); - this.apiHost = Constants.GENERAL_HOST; - } + public ContactImportsImpl(final MailtrapConfig config, final CustomValidator validator) { + super(config, validator); + this.apiHost = Constants.GENERAL_HOST; + } - @Override - public CreateContactsImportResponse importContacts(long accountId, ImportContactsRequest request) { + @Override + public CreateContactsImportResponse importContacts(final long accountId, final ImportContactsRequest request) { - validateRequestBodyAndThrowException(request); + validateRequestBodyAndThrowException(request); - return httpClient.post( - String.format(apiHost + "/api/accounts/%s/contacts/imports", accountId), - request, - new RequestData(), - CreateContactsImportResponse.class - ); - } + return httpClient.post( + String.format(apiHost + "/api/accounts/%d/contacts/imports", accountId), + request, + new RequestData(), + CreateContactsImportResponse.class + ); + } - @Override - public ContactsImportResponse getContactImport(long accountId, long importId) { - return httpClient.get( - String.format(apiHost + "/api/accounts/%s/contacts/imports/%s", accountId, importId), - new RequestData(), - ContactsImportResponse.class - ); - } + @Override + public ContactsImportResponse getContactImport(final long accountId, final long importId) { + return httpClient.get( + String.format(apiHost + "/api/accounts/%d/contacts/imports/%d", accountId, importId), + new RequestData(), + ContactsImportResponse.class + ); + } } diff --git a/src/main/java/io/mailtrap/api/contactlists/ContactListsImpl.java b/src/main/java/io/mailtrap/api/contactlists/ContactListsImpl.java index 3790ceb..c22996e 100644 --- a/src/main/java/io/mailtrap/api/contactlists/ContactListsImpl.java +++ b/src/main/java/io/mailtrap/api/contactlists/ContactListsImpl.java @@ -10,17 +10,17 @@ public class ContactListsImpl extends ApiResource implements ContactLists { - public ContactListsImpl(MailtrapConfig config) { + public ContactListsImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public List findAll(long accountId) { + public List findAll(final long accountId) { return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/contacts/lists", accountId), - new RequestData(), - ContactListResponse.class + String.format(apiHost + "/api/accounts/%d/contacts/lists", accountId), + new RequestData(), + ContactListResponse.class ); } } diff --git a/src/main/java/io/mailtrap/api/contacts/Contacts.java b/src/main/java/io/mailtrap/api/contacts/Contacts.java index 0a8c790..41cba94 100644 --- a/src/main/java/io/mailtrap/api/contacts/Contacts.java +++ b/src/main/java/io/mailtrap/api/contacts/Contacts.java @@ -7,31 +7,31 @@ public interface Contacts { - /** - * Create a new contact - * - * @param accountId unique account ID - * @param request required contact data - * @return created contact - */ - CreateContactResponse createContact(long accountId, CreateContactRequest request); + /** + * Create a new contact + * + * @param accountId unique account ID + * @param request required contact data + * @return created contact + */ + CreateContactResponse createContact(long accountId, CreateContactRequest request); - /** - * Delete contact using id or email (URL encoded) - * - * @param accountId unique account ID - * @param idOrEmail contact ID or Email - */ - void deleteContact(long accountId, String idOrEmail); + /** + * Delete contact using id or email (URL encoded) + * + * @param accountId unique account ID + * @param idOrEmail contact ID or Email + */ + void deleteContact(long accountId, String idOrEmail); - /** - * Update contact using id or email (URL encoded) - * - * @param accountId unique account ID - * @param idOrEmail contact ID or Email - * @param request request body - */ - UpdateContactResponse updateContact(long accountId, String idOrEmail, - UpdateContactRequest request); + /** + * Update contact using id or email (URL encoded) + * + * @param accountId unique account ID + * @param idOrEmail contact ID or Email + * @param request request body + */ + UpdateContactResponse updateContact(long accountId, String idOrEmail, + UpdateContactRequest request); } diff --git a/src/main/java/io/mailtrap/api/contacts/ContactsImpl.java b/src/main/java/io/mailtrap/api/contacts/ContactsImpl.java index e74d195..04eebe1 100644 --- a/src/main/java/io/mailtrap/api/contacts/ContactsImpl.java +++ b/src/main/java/io/mailtrap/api/contacts/ContactsImpl.java @@ -8,45 +8,45 @@ import io.mailtrap.model.request.contacts.UpdateContactRequest; import io.mailtrap.model.response.contacts.CreateContactResponse; import io.mailtrap.model.response.contacts.UpdateContactResponse; + import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; public class ContactsImpl extends ApiResource implements Contacts { - public ContactsImpl(MailtrapConfig config) { - super(config); - this.apiHost = Constants.GENERAL_HOST; - } + public ContactsImpl(final MailtrapConfig config) { + super(config); + this.apiHost = Constants.GENERAL_HOST; + } - @Override - public CreateContactResponse createContact(long accountId, CreateContactRequest request) { - return httpClient.post( - String.format(apiHost + "/api/accounts/%s/contacts", accountId), - request, - new RequestData(), - CreateContactResponse.class - ); - } + @Override + public CreateContactResponse createContact(final long accountId, final CreateContactRequest request) { + return httpClient.post( + String.format(apiHost + "/api/accounts/%s/contacts", accountId), + request, + new RequestData(), + CreateContactResponse.class + ); + } - @Override - public void deleteContact(long accountId, String idOrEmail) { - httpClient.delete( - String.format(apiHost + "/api/accounts/%s/contacts/%s", accountId, - URLEncoder.encode(idOrEmail, Charset.defaultCharset())), - new RequestData(), - Void.class - ); - } + @Override + public void deleteContact(final long accountId, final String idOrEmail) { + httpClient.delete( + String.format(apiHost + "/api/accounts/%d/contacts/%s", accountId, + URLEncoder.encode(idOrEmail, StandardCharsets.UTF_8)), + new RequestData(), + Void.class + ); + } - @Override - public UpdateContactResponse updateContact(long accountId, String idOrEmail, - UpdateContactRequest request) { - return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/contacts/%s", accountId, - URLEncoder.encode(idOrEmail, Charset.defaultCharset())), - request, - new RequestData(), - UpdateContactResponse.class - ); - } + @Override + public UpdateContactResponse updateContact(final long accountId, final String idOrEmail, final UpdateContactRequest request) { + return httpClient.patch( + String.format(apiHost + "/api/accounts/%d/contacts/%s", accountId, + URLEncoder.encode(idOrEmail, StandardCharsets.UTF_8)), + request, + new RequestData(), + UpdateContactResponse.class + ); + } } diff --git a/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplates.java b/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplates.java index 74d6925..0dd5a0f 100644 --- a/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplates.java +++ b/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplates.java @@ -8,48 +8,48 @@ public interface EmailTemplates { - /** - * Get all email templates existing in your account - * - * @param accountId unique account ID - * @return list of existing email templates - */ - List getAllTemplates(long accountId); - - /** - * Create a new email template - * - * @param accountId unique account ID - * @param request email template create payload - * @return created email template - */ - EmailTemplateResponse createEmailTemplate(long accountId, CreateEmailTemplateRequest request); - - /** - * Get an email template by ID - * - * @param accountId unique account ID - * @param emailTemplateId unique email template ID - * @return email template attributes - */ - EmailTemplateResponse getEmailTemplate(long accountId, long emailTemplateId); - - /** - * Update an email template - * - * @param accountId unique account ID - * @param emailTemplateId unique email template ID - * @param request email template update payload - * @return updated email template - */ - EmailTemplateResponse updateEmailTemplate(long accountId, long emailTemplateId, UpdateEmailTemplateRequest request); - - /** - * Delete an email template - * - * @param accountId unique account ID - * @param emailTemplateId unique email template ID - */ - void deleteEmailTemplate(long accountId, long emailTemplateId); + /** + * Get all email templates existing in your account + * + * @param accountId unique account ID + * @return list of existing email templates + */ + List getAllTemplates(long accountId); + + /** + * Create a new email template + * + * @param accountId unique account ID + * @param request email template create payload + * @return created email template + */ + EmailTemplateResponse createEmailTemplate(long accountId, CreateEmailTemplateRequest request); + + /** + * Get an email template by ID + * + * @param accountId unique account ID + * @param emailTemplateId unique email template ID + * @return email template attributes + */ + EmailTemplateResponse getEmailTemplate(long accountId, long emailTemplateId); + + /** + * Update an email template + * + * @param accountId unique account ID + * @param emailTemplateId unique email template ID + * @param request email template update payload + * @return updated email template + */ + EmailTemplateResponse updateEmailTemplate(long accountId, long emailTemplateId, UpdateEmailTemplateRequest request); + + /** + * Delete an email template + * + * @param accountId unique account ID + * @param emailTemplateId unique email template ID + */ + void deleteEmailTemplate(long accountId, long emailTemplateId); } diff --git a/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplatesImpl.java b/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplatesImpl.java index 31e653e..3277a62 100644 --- a/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplatesImpl.java +++ b/src/main/java/io/mailtrap/api/emailtemplates/EmailTemplatesImpl.java @@ -13,64 +13,64 @@ public class EmailTemplatesImpl extends ApiResourceWithValidation implements EmailTemplates { - public EmailTemplatesImpl(MailtrapConfig config, CustomValidator customValidator) { - super(config, customValidator); - this.apiHost = Constants.GENERAL_HOST; - } + public EmailTemplatesImpl(final MailtrapConfig config, final CustomValidator customValidator) { + super(config, customValidator); + this.apiHost = Constants.GENERAL_HOST; + } - @Override - public List getAllTemplates(long accountId) { - return - httpClient.getList( - String.format(apiHost + "/api/accounts/%d/email_templates", accountId), - new RequestData(), - EmailTemplateResponse.class - ); - } + @Override + public List getAllTemplates(final long accountId) { + return + httpClient.getList( + String.format(apiHost + "/api/accounts/%d/email_templates", accountId), + new RequestData(), + EmailTemplateResponse.class + ); + } - @Override - public EmailTemplateResponse createEmailTemplate(long accountId, CreateEmailTemplateRequest request) { - validateRequestBodyAndThrowException(request); + @Override + public EmailTemplateResponse createEmailTemplate(final long accountId, final CreateEmailTemplateRequest request) { + validateRequestBodyAndThrowException(request); - return - httpClient.post( - String.format(apiHost + "/api/accounts/%d/email_templates", accountId), - request, - new RequestData(), - EmailTemplateResponse.class - ); - } + return + httpClient.post( + String.format(apiHost + "/api/accounts/%d/email_templates", accountId), + request, + new RequestData(), + EmailTemplateResponse.class + ); + } - @Override - public EmailTemplateResponse getEmailTemplate(long accountId, long emailTemplateId) { - return - httpClient.get( - String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), - new RequestData(), - EmailTemplateResponse.class - ); - } + @Override + public EmailTemplateResponse getEmailTemplate(final long accountId, final long emailTemplateId) { + return + httpClient.get( + String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), + new RequestData(), + EmailTemplateResponse.class + ); + } - @Override - public EmailTemplateResponse updateEmailTemplate(long accountId, long emailTemplateId, UpdateEmailTemplateRequest request) { - validateRequestBodyAndThrowException(request); + @Override + public EmailTemplateResponse updateEmailTemplate(final long accountId, final long emailTemplateId, final UpdateEmailTemplateRequest request) { + validateRequestBodyAndThrowException(request); - return - httpClient.patch( - String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), - request, - new RequestData(), - EmailTemplateResponse.class - ); - } + return + httpClient.patch( + String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), + request, + new RequestData(), + EmailTemplateResponse.class + ); + } - @Override - public void deleteEmailTemplate(long accountId, long emailTemplateId) { - httpClient - .delete( - String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), - new RequestData(), - Void.class - ); - } + @Override + public void deleteEmailTemplate(final long accountId, final long emailTemplateId) { + httpClient + .delete( + String.format(apiHost + "/api/accounts/%d/email_templates/%d", accountId, emailTemplateId), + new RequestData(), + Void.class + ); + } } diff --git a/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java b/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java index 17d15a0..1f1819a 100644 --- a/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java +++ b/src/main/java/io/mailtrap/api/inboxes/InboxesImpl.java @@ -13,110 +13,110 @@ public class InboxesImpl extends ApiResourceWithValidation implements Inboxes { - public InboxesImpl(MailtrapConfig config, CustomValidator validator) { + public InboxesImpl(final MailtrapConfig config, final CustomValidator validator) { super(config, validator); this.apiHost = Constants.GENERAL_HOST; } @Override - public InboxResponse createInbox(long accountId, long projectId, CreateInboxRequest request) { + public InboxResponse createInbox(final long accountId, final long projectId, final CreateInboxRequest request) { validateRequestBodyAndThrowException(request); return httpClient.post( - String.format(apiHost + "/api/accounts/%s/projects/%s/inboxes", accountId, projectId), - request, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/projects/%d/inboxes", accountId, projectId), + request, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse getInboxAttributes(long accountId, long inboxId) { + public InboxResponse getInboxAttributes(final long accountId, final long inboxId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s", accountId, inboxId), - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse deleteInbox(long accountId, long inboxId) { + public InboxResponse deleteInbox(final long accountId, final long inboxId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%s/inboxes/%s", accountId, inboxId), - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse updateInbox(long accountId, long inboxId, UpdateInboxRequest request) { + public InboxResponse updateInbox(final long accountId, final long inboxId, final UpdateInboxRequest request) { validateRequestBodyAndThrowException(request); return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s", accountId, inboxId), - request, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d", accountId, inboxId), + request, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse cleanInbox(long accountId, long inboxId) { + public InboxResponse cleanInbox(final long accountId, final long inboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/clean", accountId, inboxId), - null, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/clean", accountId, inboxId), + null, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse markAsRead(long accountId, long inboxId) { + public InboxResponse markAsRead(final long accountId, final long inboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/all_read", accountId, inboxId), - null, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/all_read", accountId, inboxId), + null, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse resetCredentials(long accountId, long inboxId) { + public InboxResponse resetCredentials(final long accountId, final long inboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/reset_credentials", accountId, inboxId), - null, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_credentials", accountId, inboxId), + null, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse enableEmailAddress(long accountId, long inboxId) { + public InboxResponse enableEmailAddress(final long accountId, final long inboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/toggle_email_username", accountId, inboxId), - null, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/toggle_email_username", accountId, inboxId), + null, + new RequestData(), + InboxResponse.class ); } @Override - public InboxResponse resetEmailAddresses(long accountId, long inboxId) { + public InboxResponse resetEmailAddresses(final long accountId, final long inboxId) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/reset_email_username", accountId, inboxId), - null, - new RequestData(), - InboxResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/reset_email_username", accountId, inboxId), + null, + new RequestData(), + InboxResponse.class ); } @Override - public List getInboxes(long accountId) { + public List getInboxes(final long accountId) { return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/inboxes", accountId), - new RequestData(), - InboxResponse.class); + String.format(apiHost + "/api/accounts/%d/inboxes", accountId), + new RequestData(), + InboxResponse.class); } } diff --git a/src/main/java/io/mailtrap/api/messages/Messages.java b/src/main/java/io/mailtrap/api/messages/Messages.java index add2128..865f0d6 100644 --- a/src/main/java/io/mailtrap/api/messages/Messages.java +++ b/src/main/java/io/mailtrap/api/messages/Messages.java @@ -1,7 +1,7 @@ package io.mailtrap.api.messages; -import io.mailtrap.model.request.messages.ForwardMessageRequest; import io.mailtrap.model.request.accountaccesses.ListMessagesQueryParams; +import io.mailtrap.model.request.messages.ForwardMessageRequest; import io.mailtrap.model.request.messages.UpdateMessageRequest; import io.mailtrap.model.response.messages.*; @@ -44,8 +44,8 @@ public interface Messages { MessageResponse deleteMessage(long accountId, long inboxId, long messageId); /** - * @param accountId unique account ID - * @param inboxId unique inbox ID + * @param accountId unique account ID + * @param inboxId unique inbox ID * @param queryParams additional query parameters * @return list of messages */ diff --git a/src/main/java/io/mailtrap/api/messages/MessagesImpl.java b/src/main/java/io/mailtrap/api/messages/MessagesImpl.java index 4f66381..c0b5a4c 100644 --- a/src/main/java/io/mailtrap/api/messages/MessagesImpl.java +++ b/src/main/java/io/mailtrap/api/messages/MessagesImpl.java @@ -4,8 +4,8 @@ import io.mailtrap.api.apiresource.ApiResource; import io.mailtrap.config.MailtrapConfig; import io.mailtrap.http.RequestData; -import io.mailtrap.model.request.messages.ForwardMessageRequest; import io.mailtrap.model.request.accountaccesses.ListMessagesQueryParams; +import io.mailtrap.model.request.messages.ForwardMessageRequest; import io.mailtrap.model.request.messages.UpdateMessageRequest; import io.mailtrap.model.response.messages.*; import lombok.NonNull; @@ -17,132 +17,132 @@ public class MessagesImpl extends ApiResource implements Messages { - public MessagesImpl(MailtrapConfig config) { + public MessagesImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public MessageResponse getMessage(long accountId, long inboxId, long messageId) { + public MessageResponse getMessage(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s", accountId, inboxId, messageId), - new RequestData(), - MessageResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + new RequestData(), + MessageResponse.class ); } @Override - public MessageResponse updateMessage(long accountId, long inboxId, long messageId, UpdateMessageRequest request) { + public MessageResponse updateMessage(final long accountId, final long inboxId, final long messageId, final UpdateMessageRequest request) { return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s", accountId, inboxId, messageId), - request, - new RequestData(), - MessageResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + request, + new RequestData(), + MessageResponse.class ); } @Override - public MessageResponse deleteMessage(long accountId, long inboxId, long messageId) { + public MessageResponse deleteMessage(final long accountId, final long inboxId, final long messageId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s", accountId, inboxId, messageId), - new RequestData(), - MessageResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d", accountId, inboxId, messageId), + new RequestData(), + MessageResponse.class ); } @Override - public List getMessages(long accountId, long inboxId, @NonNull ListMessagesQueryParams listMessagesQueryParams) { - var queryParams = RequestData.buildQueryParams( - entry("last_id", Optional.ofNullable(listMessagesQueryParams.getLastId())), - entry("page", Optional.ofNullable(listMessagesQueryParams.getPage())), - entry("search", Optional.ofNullable(listMessagesQueryParams.getSearch()))); + public List getMessages(final long accountId, final long inboxId, @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/%s/inboxes/%s/messages", accountId, inboxId), - new RequestData(queryParams), - MessageResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages", accountId, inboxId), + new RequestData(queryParams), + MessageResponse.class ); } @Override - public ForwardMessageResponse forwardMessage(long accountId, long inboxId, long messageId, ForwardMessageRequest request) { + public ForwardMessageResponse forwardMessage(final long accountId, final long inboxId, final long messageId, final ForwardMessageRequest request) { return httpClient.post( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/forward", accountId, inboxId, messageId), - request, - new RequestData(), - ForwardMessageResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/forward", accountId, inboxId, messageId), + request, + new RequestData(), + ForwardMessageResponse.class ); } @Override - public MessageSpamScoreResponse getSpamScore(long accountId, long inboxId, long messageId) { + public MessageSpamScoreResponse getSpamScore(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/spam_report", accountId, inboxId, messageId), - new RequestData(), - MessageSpamScoreResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/spam_report", accountId, inboxId, messageId), + new RequestData(), + MessageSpamScoreResponse.class ); } @Override - public MessageHtmlAnalysisResponse getMessageHtmlAnalysis(long accountId, long inboxId, long messageId) { + public MessageHtmlAnalysisResponse getMessageHtmlAnalysis(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/analyze", accountId, inboxId, messageId), - new RequestData(), - MessageHtmlAnalysisResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/analyze", accountId, inboxId, messageId), + new RequestData(), + MessageHtmlAnalysisResponse.class ); } @Override - public String getTextMessage(long accountId, long inboxId, long messageId) { + public String getTextMessage(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/body.txt", accountId, inboxId, messageId), - new RequestData(), - String.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.txt", accountId, inboxId, messageId), + new RequestData(), + String.class ); } @Override - public String getRawMessage(long accountId, long inboxId, long messageId) { + public String getRawMessage(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/body.raw", accountId, inboxId, messageId), - new RequestData(), - String.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.raw", accountId, inboxId, messageId), + new RequestData(), + String.class ); } @Override - public String getMessageSource(long accountId, long inboxId, long messageId) { + public String getMessageSource(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/body.htmlsource", accountId, inboxId, messageId), - new RequestData(), - String.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.htmlsource", accountId, inboxId, messageId), + new RequestData(), + String.class ); } @Override - public String getHtmlMessage(long accountId, long inboxId, long messageId) { + public String getHtmlMessage(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/body.html", accountId, inboxId, messageId), - new RequestData(), - String.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.html", accountId, inboxId, messageId), + new RequestData(), + String.class ); } @Override - public String getMessageAsEml(long accountId, long inboxId, long messageId) { + public String getMessageAsEml(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/body.eml", accountId, inboxId, messageId), - new RequestData(), - String.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/body.eml", accountId, inboxId, messageId), + new RequestData(), + String.class ); } @Override - public MessageHeadersResponse getMailHeaders(long accountId, long inboxId, long messageId) { + public MessageHeadersResponse getMailHeaders(final long accountId, final long inboxId, final long messageId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/inboxes/%s/messages/%s/mail_headers", accountId, inboxId, messageId), - new RequestData(), - MessageHeadersResponse.class + String.format(apiHost + "/api/accounts/%d/inboxes/%d/messages/%d/mail_headers", accountId, inboxId, messageId), + new RequestData(), + MessageHeadersResponse.class ); } } diff --git a/src/main/java/io/mailtrap/api/permissions/PermissionsImpl.java b/src/main/java/io/mailtrap/api/permissions/PermissionsImpl.java index 3b76992..c196842 100644 --- a/src/main/java/io/mailtrap/api/permissions/PermissionsImpl.java +++ b/src/main/java/io/mailtrap/api/permissions/PermissionsImpl.java @@ -12,27 +12,27 @@ public class PermissionsImpl extends ApiResource implements Permissions { - public PermissionsImpl(MailtrapConfig config) { + public PermissionsImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public ManagePermissionsResponse managePermissions(long accountAccessId, long accountId, ManagePermissionsRequest request) { + public ManagePermissionsResponse managePermissions(final long accountAccessId, final long accountId, final ManagePermissionsRequest request) { return httpClient.put( - String.format(apiHost + "/api/accounts/%s/account_accesses/%s/permissions/bulk", accountId, accountAccessId), - request, - new RequestData(), - ManagePermissionsResponse.class + String.format(apiHost + "/api/accounts/%d/account_accesses/%d/permissions/bulk", accountId, accountAccessId), + request, + new RequestData(), + ManagePermissionsResponse.class ); } @Override - public List getResources(long accountId) { + public List getResources(final long accountId) { return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/permissions/resources", accountId), - new RequestData(), - Resource.class + String.format(apiHost + "/api/accounts/%d/permissions/resources", accountId), + new RequestData(), + Resource.class ); } diff --git a/src/main/java/io/mailtrap/api/projects/ProjectsImpl.java b/src/main/java/io/mailtrap/api/projects/ProjectsImpl.java index 4697e9e..4e9b34c 100644 --- a/src/main/java/io/mailtrap/api/projects/ProjectsImpl.java +++ b/src/main/java/io/mailtrap/api/projects/ProjectsImpl.java @@ -13,61 +13,61 @@ public class ProjectsImpl extends ApiResourceWithValidation implements Projects { - public ProjectsImpl(MailtrapConfig config, CustomValidator customValidator) { + public ProjectsImpl(final MailtrapConfig config, final CustomValidator customValidator) { super(config, customValidator); this.apiHost = Constants.GENERAL_HOST; } @Override - public ProjectsResponse createProject(long accountId, CreateUpdateProjectRequest request) { + public ProjectsResponse createProject(final long accountId, final CreateUpdateProjectRequest request) { validateRequestBodyAndThrowException(request); return httpClient.post( - String.format(apiHost + "/api/accounts/%s/projects", accountId), - request, - new RequestData(), - ProjectsResponse.class + String.format(apiHost + "/api/accounts/%d/projects", accountId), + request, + new RequestData(), + ProjectsResponse.class ); } @Override - public List getProjects(long accountId) { + public List getProjects(final long accountId) { return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/projects", accountId), - new RequestData(), - ProjectsResponse.class + String.format(apiHost + "/api/accounts/%d/projects", accountId), + new RequestData(), + ProjectsResponse.class ); } @Override - public ProjectsResponse getProject(long accountId, long projectId) { + public ProjectsResponse getProject(final long accountId, final long projectId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/projects/%s", accountId, projectId), - new RequestData(), - ProjectsResponse.class + String.format(apiHost + "/api/accounts/%d/projects/%d", accountId, projectId), + new RequestData(), + ProjectsResponse.class ); } @Override - public ProjectsResponse updateProject(long accountId, long projectId, CreateUpdateProjectRequest updateRequest) { + public ProjectsResponse updateProject(final long accountId, final long projectId, final CreateUpdateProjectRequest updateRequest) { validateRequestBodyAndThrowException(updateRequest); return httpClient.patch( - String.format(apiHost + "/api/accounts/%s/projects/%s", accountId, projectId), - updateRequest, - new RequestData(), - ProjectsResponse.class + String.format(apiHost + "/api/accounts/%d/projects/%d", accountId, projectId), + updateRequest, + new RequestData(), + ProjectsResponse.class ); } @Override - public DeleteProjectResponse deleteProject(long accountId, long projectId) { + public DeleteProjectResponse deleteProject(final long accountId, final long projectId) { return httpClient.delete( - String.format(apiHost + "/api/accounts/%s/projects/%s", accountId, projectId), - new RequestData(), - DeleteProjectResponse.class + String.format(apiHost + "/api/accounts/%d/projects/%d", accountId, projectId), + new RequestData(), + DeleteProjectResponse.class ); } diff --git a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java index c7f9614..2874bd4 100644 --- a/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java +++ b/src/main/java/io/mailtrap/api/sendingdomains/SendingDomainsImpl.java @@ -12,51 +12,51 @@ public class SendingDomainsImpl extends ApiResource implements SendingDomains { - public SendingDomainsImpl(MailtrapConfig config) { + public SendingDomainsImpl(final MailtrapConfig config) { super(config); this.apiHost = Constants.GENERAL_HOST; } @Override - public SendingDomainsResponse create(long accountId, CreateSendingDomainRequest request) { + public SendingDomainsResponse create(final long accountId, final CreateSendingDomainRequest request) { return httpClient.post( - String.format(apiHost + "/api/accounts/%s/sending_domains", accountId), - request, - new RequestData(), - SendingDomainsResponse.class + String.format(apiHost + "/api/accounts/%d/sending_domains", accountId), + request, + new RequestData(), + SendingDomainsResponse.class ); } @Override - public List getSendingDomains(long accountId) { + public List getSendingDomains(final long accountId) { return httpClient.getList( - String.format(apiHost + "/api/accounts/%s/sending_domains", accountId), - new RequestData(), - SendingDomainsResponse.class + String.format(apiHost + "/api/accounts/%d/sending_domains", accountId), + new RequestData(), + SendingDomainsResponse.class ); } @Override - public SendingDomainsResponse getSendingDomain(long accountId, long sendingDomainId) { + public SendingDomainsResponse getSendingDomain(final long accountId, final long sendingDomainId) { return httpClient.get( - String.format(apiHost + "/api/accounts/%s/sending_domains/%s", accountId, sendingDomainId), - new RequestData(), - SendingDomainsResponse.class - ); + String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, sendingDomainId), + new RequestData(), + SendingDomainsResponse.class + ); } @Override - public void sendSendingDomainsSetupInstructions(long accountId, long sendingDomainId, SendingDomainsSetupInstructionsRequest request) { + public void sendSendingDomainsSetupInstructions(final long accountId, final long sendingDomainId, final SendingDomainsSetupInstructionsRequest request) { httpClient.post( - String.format(apiHost + "/api/accounts/%s/sending_domains/%s/send_setup_instructions", accountId, sendingDomainId), - request, - new RequestData(), - Void.class + String.format(apiHost + "/api/accounts/%d/sending_domains/%d/send_setup_instructions", accountId, sendingDomainId), + request, + new RequestData(), + Void.class ); } @Override - public void deleteSendingDomain(long accountId, long sendingDomainId) { + public void deleteSendingDomain(final long accountId, final long sendingDomainId) { httpClient .delete( String.format(apiHost + "/api/accounts/%d/sending_domains/%d", accountId, sendingDomainId), diff --git a/src/main/java/io/mailtrap/api/sendingemails/SendingEmailsImpl.java b/src/main/java/io/mailtrap/api/sendingemails/SendingEmailsImpl.java index 66a74d8..0450f74 100644 --- a/src/main/java/io/mailtrap/api/sendingemails/SendingEmailsImpl.java +++ b/src/main/java/io/mailtrap/api/sendingemails/SendingEmailsImpl.java @@ -17,27 +17,40 @@ */ public class SendingEmailsImpl extends SendApiResource implements SendingEmails { - public SendingEmailsImpl(MailtrapConfig config, CustomValidator customValidator) { + public SendingEmailsImpl(final MailtrapConfig config, final CustomValidator customValidator) { super(config, customValidator); this.apiHost = Constants.EMAIL_SENDING_SEND_HOST; } @Override - public SendResponse send(MailtrapMail mail) { + public SendResponse send(final MailtrapMail mail) { validateMailPayload(mail); - RequestData requestData = new RequestData(); + + final RequestData requestData = new RequestData(); if (mail.getHeaders() != null) { requestData.setHeaders(mail.getHeaders()); } - return httpClient.post(apiHost + "/api/send", mail, requestData, SendResponse.class); + + return + httpClient.post( + apiHost + "/api/send", + mail, + requestData, + SendResponse.class + ); } @Override - public BatchSendResponse batchSend(MailtrapBatchMail mail) throws HttpException, InvalidRequestBodyException { + public BatchSendResponse batchSend(final MailtrapBatchMail mail) throws HttpException, InvalidRequestBodyException { validateBatchPayload(mail); return - httpClient.post(apiHost + "/api/batch", mail, new RequestData(), BatchSendResponse.class); + httpClient.post( + apiHost + "/api/batch", + mail, + new RequestData(), + BatchSendResponse.class + ); } } diff --git a/src/main/java/io/mailtrap/api/suppressions/Suppressions.java b/src/main/java/io/mailtrap/api/suppressions/Suppressions.java index bccd3d2..a3b7b9e 100644 --- a/src/main/java/io/mailtrap/api/suppressions/Suppressions.java +++ b/src/main/java/io/mailtrap/api/suppressions/Suppressions.java @@ -6,22 +6,22 @@ public interface Suppressions { - /** - * List and search suppressions by email. The endpoint returns up to 1000 suppressions per request. - * - * @param accountId - unique account ID - * @param email - search suppressions for this email - * @return a list of suppressions - */ - List search(long accountId, String email); + /** + * List and search suppressions by email. The endpoint returns up to 1000 suppressions per request. + * + * @param accountId - unique account ID + * @param email - search suppressions for this email + * @return a list of suppressions + */ + List search(long accountId, String email); - /** - * Delete a suppression by ID. Mailtrap will no longer prevent sending to this email unless it's recorded in suppressions again. - * - * @param accountId - unique account ID - * @param suppressionId - unique suppression ID - * @return the attributes of the deleted suppression - */ - SuppressionsResponse deleteSuppression(long accountId, String suppressionId); + /** + * Delete a suppression by ID. Mailtrap will no longer prevent sending to this email unless it's recorded in suppressions again. + * + * @param accountId - unique account ID + * @param suppressionId - unique suppression ID + * @return the attributes of the deleted suppression + */ + SuppressionsResponse deleteSuppression(long accountId, String suppressionId); } diff --git a/src/main/java/io/mailtrap/api/suppressions/SuppressionsImpl.java b/src/main/java/io/mailtrap/api/suppressions/SuppressionsImpl.java index 451ae1f..8800e96 100644 --- a/src/main/java/io/mailtrap/api/suppressions/SuppressionsImpl.java +++ b/src/main/java/io/mailtrap/api/suppressions/SuppressionsImpl.java @@ -7,7 +7,7 @@ import io.mailtrap.model.response.suppressions.SuppressionsResponse; import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.List; import java.util.Optional; @@ -15,30 +15,34 @@ public class SuppressionsImpl extends ApiResource implements Suppressions { - public SuppressionsImpl(MailtrapConfig config) { - super(config); - this.apiHost = Constants.GENERAL_HOST; - } - - @Override - public List search(long accountId, String email) { - var queryParams = RequestData.buildQueryParams(entry("email", Optional.ofNullable(email))); - - return - httpClient.getList( - String.format(apiHost + "/api/accounts/%d/suppressions", accountId), - new RequestData(queryParams), - SuppressionsResponse.class - ); - } - - @Override - public SuppressionsResponse deleteSuppression(long accountId, String suppressionId) { - return - httpClient.delete( - String.format(apiHost + "/api/accounts/%d/suppressions/%s", accountId, URLEncoder.encode(suppressionId, Charset.defaultCharset())), - new RequestData(), - SuppressionsResponse.class - ); - } + public SuppressionsImpl(final MailtrapConfig config) { + super(config); + this.apiHost = Constants.GENERAL_HOST; + } + + @Override + public List search(final long accountId, final String email) { + final var queryParams = RequestData.buildQueryParams(entry("email", Optional.ofNullable(email))); + + return + httpClient.getList( + String.format(apiHost + "/api/accounts/%d/suppressions", accountId), + new RequestData(queryParams), + SuppressionsResponse.class + ); + } + + @Override + public SuppressionsResponse deleteSuppression(final long accountId, final String suppressionId) { + if (suppressionId == null || suppressionId.isBlank()) { + throw new IllegalArgumentException("suppressionId must not be null or blank"); + } + + return + httpClient.delete( + String.format(apiHost + "/api/accounts/%d/suppressions/%s", accountId, URLEncoder.encode(suppressionId, StandardCharsets.UTF_8)), + new RequestData(), + SuppressionsResponse.class + ); + } } diff --git a/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java b/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java index 5016b56..23513c6 100644 --- a/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java +++ b/src/main/java/io/mailtrap/api/testingemails/TestingEmailsImpl.java @@ -17,27 +17,38 @@ */ public class TestingEmailsImpl extends SendApiResource implements TestingEmails { - public TestingEmailsImpl(MailtrapConfig config, CustomValidator customValidator) { + public TestingEmailsImpl(final MailtrapConfig config, final CustomValidator customValidator) { super(config, customValidator); this.apiHost = Constants.EMAIL_TESTING_SEND_HOST; } @Override - public SendResponse send(MailtrapMail mail, long inboxId) { + public SendResponse send(final MailtrapMail mail, final long inboxId) { validateMailPayload(mail); RequestData requestData = new RequestData(); if (mail.getHeaders() != null) { requestData.setHeaders(mail.getHeaders()); } - return httpClient.post(String.format(apiHost + "/api/send/%d", inboxId), mail, requestData, SendResponse.class); + + return + httpClient.post( + String.format(apiHost + "/api/send/%d", inboxId), + mail, + requestData, + SendResponse.class + ); } @Override - public BatchSendResponse batchSend(MailtrapBatchMail mail, long inboxId) throws HttpException, InvalidRequestBodyException { + public BatchSendResponse batchSend(final MailtrapBatchMail mail, final long inboxId) throws HttpException, InvalidRequestBodyException { validateBatchPayload(mail); return - httpClient.post(String.format(apiHost + "/api/batch/%d", inboxId), mail, new RequestData(), BatchSendResponse.class); + httpClient.post( + String.format(apiHost + "/api/batch/%d", inboxId), + mail, new RequestData(), + BatchSendResponse.class + ); } } diff --git a/src/main/java/io/mailtrap/client/MailtrapClient.java b/src/main/java/io/mailtrap/client/MailtrapClient.java index 1776827..c447d0a 100644 --- a/src/main/java/io/mailtrap/client/MailtrapClient.java +++ b/src/main/java/io/mailtrap/client/MailtrapClient.java @@ -68,7 +68,7 @@ public class MailtrapClient { * @param mailtrapMail the email to send * @return the response from the sending operation */ - public SendResponse send(MailtrapMail mailtrapMail) { + public SendResponse send(final MailtrapMail mailtrapMail) { if (sendingContextHolder.isBulk()) { return bulkSendingApi.emails().send(mailtrapMail); } else if (sendingContextHolder.isSandbox()) { @@ -84,7 +84,7 @@ public SendResponse send(MailtrapMail mailtrapMail) { * @param mailtrapBatchMail emails to send * @return the response from the sending operation */ - public BatchSendResponse batchSend(MailtrapBatchMail mailtrapBatchMail) { + public BatchSendResponse batchSend(final MailtrapBatchMail mailtrapBatchMail) { if (sendingContextHolder.isBulk()) { return bulkSendingApi.emails().batchSend(mailtrapBatchMail); } else if (sendingContextHolder.isSandbox()) { diff --git a/src/main/java/io/mailtrap/config/MailtrapConfig.java b/src/main/java/io/mailtrap/config/MailtrapConfig.java index 8498950..7ff7494 100644 --- a/src/main/java/io/mailtrap/config/MailtrapConfig.java +++ b/src/main/java/io/mailtrap/config/MailtrapConfig.java @@ -43,7 +43,7 @@ public class MailtrapConfig { */ private final Long inboxId; - private MailtrapConfig(Builder builder) { + private MailtrapConfig(final Builder builder) { if (builder.sandbox && builder.bulk) { throw new BaseMailtrapException("Bulk mode is not applicable for Testing API"); } @@ -67,32 +67,32 @@ public static class Builder { private boolean bulk; private Long inboxId; - public Builder connectionTimeout(Duration connectionTimeout) { + public Builder connectionTimeout(final Duration connectionTimeout) { this.connectionTimeout = connectionTimeout; return this; } - public Builder token(String token) { + public Builder token(final String token) { this.token = token; return this; } - public Builder httpClient(CustomHttpClient httpClient) { + public Builder httpClient(final CustomHttpClient httpClient) { this.httpClient = httpClient; return this; } - public Builder sandbox(boolean sandbox) { + public Builder sandbox(final boolean sandbox) { this.sandbox = sandbox; return this; } - public Builder bulk(boolean bulk) { + public Builder bulk(final boolean bulk) { this.bulk = bulk; return this; } - public Builder inboxId(Long inboxId) { + public Builder inboxId(final Long inboxId) { this.inboxId = inboxId; return this; } diff --git a/src/main/java/io/mailtrap/exception/InvalidRequestBodyException.java b/src/main/java/io/mailtrap/exception/InvalidRequestBodyException.java index e2b9a06..3f9dfb3 100644 --- a/src/main/java/io/mailtrap/exception/InvalidRequestBodyException.java +++ b/src/main/java/io/mailtrap/exception/InvalidRequestBodyException.java @@ -5,11 +5,11 @@ */ public class InvalidRequestBodyException extends BaseMailtrapException { - public InvalidRequestBodyException(String errorMessage) { + public InvalidRequestBodyException(final String errorMessage) { super(errorMessage); } - public InvalidRequestBodyException(String errorMessage, Exception cause) { + public InvalidRequestBodyException(final String errorMessage, final Exception cause) { super(errorMessage, cause); } diff --git a/src/main/java/io/mailtrap/exception/JsonException.java b/src/main/java/io/mailtrap/exception/JsonException.java index 3b9e07b..f2a1f33 100644 --- a/src/main/java/io/mailtrap/exception/JsonException.java +++ b/src/main/java/io/mailtrap/exception/JsonException.java @@ -5,7 +5,7 @@ */ public class JsonException extends BaseMailtrapException { - public JsonException(String errorMessage, Throwable cause) { + public JsonException(final String errorMessage, final Throwable cause) { super(errorMessage, cause); } diff --git a/src/main/java/io/mailtrap/exception/http/HttpClientException.java b/src/main/java/io/mailtrap/exception/http/HttpClientException.java index 730104b..4265a18 100644 --- a/src/main/java/io/mailtrap/exception/http/HttpClientException.java +++ b/src/main/java/io/mailtrap/exception/http/HttpClientException.java @@ -4,7 +4,7 @@ * Specific exception class representing a 4xx HTTP-related error. */ public class HttpClientException extends HttpException { - public HttpClientException(String errorMessage, int statusCode) { + public HttpClientException(final String errorMessage, final int statusCode) { super(errorMessage, statusCode); } } diff --git a/src/main/java/io/mailtrap/exception/http/HttpException.java b/src/main/java/io/mailtrap/exception/http/HttpException.java index ed5ecb1..63c7cd5 100644 --- a/src/main/java/io/mailtrap/exception/http/HttpException.java +++ b/src/main/java/io/mailtrap/exception/http/HttpException.java @@ -14,7 +14,7 @@ public class HttpException extends BaseMailtrapException { */ private final int statusCode; - public HttpException(String errorMessage, int statusCode) { + public HttpException(final String errorMessage, final int statusCode) { super(errorMessage); this.statusCode = statusCode; } diff --git a/src/main/java/io/mailtrap/exception/http/HttpServerException.java b/src/main/java/io/mailtrap/exception/http/HttpServerException.java index 488ef53..7c6010b 100644 --- a/src/main/java/io/mailtrap/exception/http/HttpServerException.java +++ b/src/main/java/io/mailtrap/exception/http/HttpServerException.java @@ -4,7 +4,7 @@ * Specific exception class representing a 5xx HTTP-related error. */ public class HttpServerException extends HttpException { - public HttpServerException(String errorMessage, int statusCode) { + public HttpServerException(final String errorMessage, final int statusCode) { super(errorMessage, statusCode); } } diff --git a/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java b/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java index 2951423..d89d471 100644 --- a/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java +++ b/src/main/java/io/mailtrap/factory/MailtrapClientFactory.java @@ -40,7 +40,7 @@ private MailtrapClientFactory() { * @param config The configuration for creating the Mailtrap client. * @return A new Mailtrap client instance. */ - public static MailtrapClient createMailtrapClient(MailtrapConfig config) { + public static MailtrapClient createMailtrapClient(final MailtrapConfig config) { final var customValidator = createValidator(); final var sendingApi = createSendingApi(config, customValidator); @@ -55,7 +55,7 @@ public static MailtrapClient createMailtrapClient(MailtrapConfig config) { return new MailtrapClient(sendingApi, testingApi, bulkSendingApi, generalApi, contactsApi, emailTemplatesApi, sendingContextHolder); } - private static MailtrapContactsApi createContactsApi(MailtrapConfig config, CustomValidator customValidator) { + private static MailtrapContactsApi createContactsApi(final MailtrapConfig config, final CustomValidator customValidator) { final var contactLists = new ContactListsImpl(config); final var contacts = new ContactsImpl(config); final var contactImports = new ContactImportsImpl(config, customValidator); @@ -64,7 +64,7 @@ private static MailtrapContactsApi createContactsApi(MailtrapConfig config, Cust return new MailtrapContactsApi(contactLists, contacts, contactImports, contactFields); } - private static MailtrapGeneralApi createGeneralApi(MailtrapConfig config) { + private static MailtrapGeneralApi createGeneralApi(final MailtrapConfig config) { final var accountAccess = new AccountAccessesImpl(config); final var accounts = new AccountsImpl(config); final var billing = new BillingImpl(config); @@ -73,7 +73,7 @@ private static MailtrapGeneralApi createGeneralApi(MailtrapConfig config) { return new MailtrapGeneralApi(accountAccess, accounts, billing, permissions); } - private static MailtrapEmailSendingApi createSendingApi(MailtrapConfig config, CustomValidator customValidator) { + private static MailtrapEmailSendingApi createSendingApi(final MailtrapConfig config, final CustomValidator customValidator) { final var emails = new SendingEmailsImpl(config, customValidator); final var domains = new SendingDomainsImpl(config); final var suppressions = new SuppressionsImpl(config); @@ -81,7 +81,7 @@ private static MailtrapEmailSendingApi createSendingApi(MailtrapConfig config, C return new MailtrapEmailSendingApi(emails, domains, suppressions); } - private static MailtrapEmailTestingApi createTestingApi(MailtrapConfig config, CustomValidator customValidator) { + private static MailtrapEmailTestingApi createTestingApi(final MailtrapConfig config, final CustomValidator customValidator) { final var emails = new TestingEmailsImpl(config, customValidator); final var attachments = new AttachmentsImpl(config); final var inboxes = new InboxesImpl(config, customValidator); @@ -91,19 +91,19 @@ private static MailtrapEmailTestingApi createTestingApi(MailtrapConfig config, C return new MailtrapEmailTestingApi(emails, attachments, inboxes, projects, messages); } - private static MailtrapBulkSendingApi createBulkSendingApi(MailtrapConfig config, CustomValidator customValidator) { + private static MailtrapBulkSendingApi createBulkSendingApi(final MailtrapConfig config, final CustomValidator customValidator) { final var emails = new BulkEmailsImpl(config, customValidator); return new MailtrapBulkSendingApi(emails); } - private static MailtrapEmailTemplatesApi createEmailTemplatesApi(MailtrapConfig config, CustomValidator customValidator) { + private static MailtrapEmailTemplatesApi createEmailTemplatesApi(final MailtrapConfig config, final CustomValidator customValidator) { final var emailTemplates = new EmailTemplatesImpl(config, customValidator); return new MailtrapEmailTemplatesApi(emailTemplates); } - private static SendingContextHolder configureSendingContext(MailtrapConfig config) { + private static SendingContextHolder configureSendingContext(final MailtrapConfig config) { return SendingContextHolder.builder() .sandbox(config.isSandbox()) @@ -117,7 +117,7 @@ private static SendingContextHolder configureSendingContext(MailtrapConfig confi */ private static CustomValidator createValidator() { // Wrapped into try-with-resources to ensure that factory's resources are properly closed - try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) { + try (final ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) { return new CustomValidator(factory.getValidator()); } } diff --git a/src/main/java/io/mailtrap/http/RequestData.java b/src/main/java/io/mailtrap/http/RequestData.java index ff4e0e0..4a0b97a 100644 --- a/src/main/java/io/mailtrap/http/RequestData.java +++ b/src/main/java/io/mailtrap/http/RequestData.java @@ -29,7 +29,7 @@ public class RequestData { */ private Map headers = new HashMap<>(); - public RequestData(Map> queryParams) { + public RequestData(final Map> queryParams) { this.queryParams = queryParams; } @@ -40,7 +40,7 @@ public RequestData(Map> queryParams) { * @return The map of query parameters. */ @SafeVarargs - public static > Map buildQueryParams(Map.Entry... entries) { + public static > Map buildQueryParams(final Map.Entry... entries) { Map params = new HashMap<>(); for (Map.Entry entry : entries) { params.put(entry.getKey(), entry.getValue()); @@ -55,7 +55,7 @@ public static > Map buildQueryParams(Map.Entry< * @param value entry's value * @return An entry */ - public static > Map.Entry entry(String key, T value) { + public static > Map.Entry entry(final String key, final T value) { return new AbstractMap.SimpleEntry<>(key, value); } } diff --git a/src/main/java/io/mailtrap/http/impl/DefaultMailtrapHttpClient.java b/src/main/java/io/mailtrap/http/impl/DefaultMailtrapHttpClient.java index 0340a97..e9c1b75 100644 --- a/src/main/java/io/mailtrap/http/impl/DefaultMailtrapHttpClient.java +++ b/src/main/java/io/mailtrap/http/impl/DefaultMailtrapHttpClient.java @@ -28,10 +28,10 @@ public class DefaultMailtrapHttpClient implements CustomHttpClient { private final String token; private final HttpClient httpClient; - public DefaultMailtrapHttpClient(MailtrapConfig config) { + public DefaultMailtrapHttpClient(final MailtrapConfig config) { this.token = config.getToken(); - HttpClient.Builder httpClientBuilder = HttpClient.newBuilder(); + final HttpClient.Builder httpClientBuilder = HttpClient.newBuilder(); if (config.getConnectionTimeout() != null) { httpClientBuilder.connectTimeout(config.getConnectionTimeout()); } @@ -40,8 +40,8 @@ public DefaultMailtrapHttpClient(MailtrapConfig config) { } @Override - public T get(String url, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T get(final String url, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .GET() .build(); @@ -49,19 +49,19 @@ public T get(String url, RequestData requestData, Class responseType) thr } @Override - public List getList(String url, RequestData requestData, Class responseClass) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public List getList(final String url, final RequestData requestData, final Class responseClass) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .GET() .build(); - JavaType responseType = TypeFactory.defaultInstance().constructCollectionType(List.class, responseClass); + final JavaType responseType = TypeFactory.defaultInstance().constructCollectionType(List.class, responseClass); return this.request(httpRequest, responseType); } @Override - public T delete(String url, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T delete(final String url, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .DELETE() .build(); @@ -69,8 +69,8 @@ public T delete(String url, RequestData requestData, Class responseType) } @Override - public T head(String url, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T head(final String url, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .method("HEAD", HttpRequest.BodyPublishers.noBody()) .build(); @@ -78,8 +78,8 @@ public T head(String url, RequestData requestData, Class responseType) th } @Override - public T post(String url, V data, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T post(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .POST(getBodyPublisher(data)) .build(); @@ -87,8 +87,8 @@ public T post(String url, V data, RequestData reque } @Override - public T put(String url, V data, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T put(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .PUT(getBodyPublisher(data)) .build(); @@ -96,49 +96,49 @@ public T put(String url, V data, RequestData reques } @Override - public T patch(String url, V data, RequestData requestData, Class responseType) throws HttpException { - HttpRequest httpRequest = prepareRequest(url, requestData) + public T patch(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { + final HttpRequest httpRequest = prepareRequest(url, requestData) .method("PATCH", getBodyPublisher(data)) .build(); return this.request(httpRequest, responseType); } - private T request(HttpRequest request, Class responseType) throws HttpException { + private T request(final HttpRequest request, final Class responseType) throws HttpException { try { - var send = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); + final var send = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); return handleResponse(send, responseType); - } catch (InterruptedException | IOException e) { + } catch (final InterruptedException | IOException e) { throw new BaseMailtrapException("An error has occurred while sending request", e); } } - private T request(HttpRequest request, JavaType responseType) throws HttpException { + private T request(final HttpRequest request, final JavaType responseType) throws HttpException { try { - var send = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); + final var send = httpClient.send(request, HttpResponse.BodyHandlers.ofString()); return handleResponse(send, responseType); - } catch (InterruptedException | IOException e) { + } catch (final InterruptedException | IOException e) { throw new BaseMailtrapException("An error has occurred while sending request", e); } } - private T handleResponse(HttpResponse response, Class responseType) throws HttpException { + private T handleResponse(final HttpResponse response, final Class responseType) throws HttpException { return handleResponseInternal(response, responseType, null); } - private T handleResponse(HttpResponse response, JavaType responseType) throws HttpException { + private T handleResponse(final HttpResponse response, final JavaType responseType) throws HttpException { return handleResponseInternal(response, null, responseType); } - private T handleResponseInternal(HttpResponse response, Class responseClassType, JavaType responseJavaType) throws HttpException { + private T handleResponseInternal(final HttpResponse response, final Class responseClassType, final JavaType responseJavaType) throws HttpException { try { if (response.body() == null) { throw new BaseMailtrapException("Response body is null"); } - int statusCode = response.statusCode(); + final int statusCode = response.statusCode(); if (statusCode == 200) { if (responseClassType != null) { if (String.class.equals(responseClassType)) { @@ -151,18 +151,18 @@ private T handleResponseInternal(HttpResponse response, Class res throw new IllegalArgumentException("Both responseType and typeReference are null"); } } else if (statusCode >= 400 && statusCode < 500) { - ErrorResponse errorResponse = Mapper.get().readValue(response.body(), ErrorResponse.class); + final ErrorResponse errorResponse = Mapper.get().readValue(response.body(), ErrorResponse.class); throw new HttpClientException(String.join(", ", errorResponse.getErrors()), statusCode); } else if (statusCode > 500) { throw new HttpServerException(String.format("Internal Server Error. HTTP response code (%d) received from the API server. Retry later or contact support.", statusCode), statusCode); } throw new HttpException(String.format("HTTP response code (%d) received from the API server (no error info)", statusCode), statusCode); - } catch (IOException e) { + } catch (final IOException e) { throw new JsonException("An error has occurred while converting JSON", e); } } - private HttpRequest.Builder prepareRequest(String url, RequestData requestData) { + private HttpRequest.Builder prepareRequest(final String url, final RequestData requestData) { HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() .uri(URI.create(this.appendUrlParams(url, requestData.getQueryParams()))) @@ -171,7 +171,7 @@ private HttpRequest.Builder prepareRequest(String url, RequestData requestData) .header("Authorization", "Bearer " + token) .header("User-Agent", "mailtrap-java (https://github.com/railsware/mailtrap-java)"); - Map headers = new HashMap<>(requestData.getHeaders()); + final Map headers = new HashMap<>(requestData.getHeaders()); for (Map.Entry entry : headers.entrySet()) { requestBuilder = requestBuilder.header(entry.getKey(), entry.getValue().toString()); } @@ -179,7 +179,7 @@ private HttpRequest.Builder prepareRequest(String url, RequestData requestData) return requestBuilder; } - private static HttpRequest.BodyPublisher getBodyPublisher(V data) { + private static HttpRequest.BodyPublisher getBodyPublisher(final V data) { return data == null ? HttpRequest.BodyPublishers.noBody() : HttpRequest.BodyPublishers.ofString(data.toJson()); diff --git a/src/main/java/io/mailtrap/model/AbstractModel.java b/src/main/java/io/mailtrap/model/AbstractModel.java index eda5c3d..4a62b52 100644 --- a/src/main/java/io/mailtrap/model/AbstractModel.java +++ b/src/main/java/io/mailtrap/model/AbstractModel.java @@ -17,7 +17,7 @@ public abstract class AbstractModel { public final String toJson() { try { return Mapper.get().writeValueAsString(this); - } catch (JsonProcessingException e) { + } catch (final JsonProcessingException e) { throw new JsonException("An error has occurred while serializing the object to JSON", e); } } diff --git a/src/main/java/io/mailtrap/model/mailvalidation/MailContentView.java b/src/main/java/io/mailtrap/model/mailvalidation/MailContentView.java index 98f11ba..45cffef 100644 --- a/src/main/java/io/mailtrap/model/mailvalidation/MailContentView.java +++ b/src/main/java/io/mailtrap/model/mailvalidation/MailContentView.java @@ -30,11 +30,11 @@ public Map getTemplateVariables() { return mail.getTemplateVariables(); } - public static ContentView of(MailtrapMail content) { + public static ContentView of(final MailtrapMail content) { return new MailContentView(content); } - private MailContentView(MailtrapMail content) { + private MailContentView(final MailtrapMail content) { this.mail = content; } } diff --git a/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailContentView.java b/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailContentView.java index 7f2c407..7b3ffe7 100644 --- a/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailContentView.java +++ b/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailContentView.java @@ -29,11 +29,11 @@ public Map getTemplateVariables() { return mailView.getTemplateVariables(); } - public static ContentView of(ResolvedMailView mailView) { + public static ContentView of(final ResolvedMailView mailView) { return new ResolvedMailContentView(mailView); } - private ResolvedMailContentView(ResolvedMailView mailView) { + private ResolvedMailContentView(final ResolvedMailView mailView) { this.mailView = mailView; } } diff --git a/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailView.java b/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailView.java index 6c663f2..7963f38 100644 --- a/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailView.java +++ b/src/main/java/io/mailtrap/model/mailvalidation/ResolvedMailView.java @@ -21,7 +21,7 @@ public final class ResolvedMailView { private final BatchEmailBase base; private final MailtrapMail item; - public ResolvedMailView(BatchEmailBase base, MailtrapMail item) { + public ResolvedMailView(final BatchEmailBase base, final MailtrapMail item) { this.base = base; this.item = item; } diff --git a/src/main/java/io/mailtrap/model/request/inboxes/UpdateInboxRequest.java b/src/main/java/io/mailtrap/model/request/inboxes/UpdateInboxRequest.java index e7a966f..31dc7a6 100644 --- a/src/main/java/io/mailtrap/model/request/inboxes/UpdateInboxRequest.java +++ b/src/main/java/io/mailtrap/model/request/inboxes/UpdateInboxRequest.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import io.mailtrap.model.AbstractModel; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Getter; @@ -12,6 +13,7 @@ public class UpdateInboxRequest extends AbstractModel { @Valid + @NotNull @JsonProperty("inbox") private InboxUpdateData inboxUpdateData; diff --git a/src/main/java/io/mailtrap/serialization/AccountAccessResponseDeserializer.java b/src/main/java/io/mailtrap/serialization/AccountAccessResponseDeserializer.java index ab92c68..f6e86d0 100644 --- a/src/main/java/io/mailtrap/serialization/AccountAccessResponseDeserializer.java +++ b/src/main/java/io/mailtrap/serialization/AccountAccessResponseDeserializer.java @@ -35,37 +35,37 @@ public class AccountAccessResponseDeserializer extends JsonDeserializer { @Override - public AccountAccessResponse deserialize(JsonParser p, DeserializationContext ctxt) + public AccountAccessResponse deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException { - ObjectMapper mapper = (ObjectMapper) p.getCodec(); - JsonNode rootNode = mapper.readTree(p); + final ObjectMapper mapper = (ObjectMapper) p.getCodec(); + final JsonNode rootNode = mapper.readTree(p); // Extract the simple fields - long id = rootNode.get("id").asLong(); - JsonNode resourcesNode = rootNode.get("resources"); - JsonNode permissionsNode = rootNode.get("permissions"); + final long id = rootNode.get("id").asLong(); + final JsonNode resourcesNode = rootNode.get("resources"); + final JsonNode permissionsNode = rootNode.get("permissions"); // Deserialize the simple fields - var resources = mapper.convertValue(resourcesNode, new TypeReference>() { + final var resources = mapper.convertValue(resourcesNode, new TypeReference>() { }); - var permissions = mapper.treeToValue(permissionsNode, Permission.class); + final var permissions = mapper.treeToValue(permissionsNode, Permission.class); // Extract and handle the specifier_type and specifier fields - String specifierTypeStr = rootNode.get("specifier_type").asText(); + final String specifierTypeStr = rootNode.get("specifier_type").asText(); - SpecifierType specifierType = SpecifierType.fromValue(specifierTypeStr); + final SpecifierType specifierType = SpecifierType.fromValue(specifierTypeStr); - JsonNode specifierNode = rootNode.get("specifier"); + final JsonNode specifierNode = rootNode.get("specifier"); - Specifier specifier = switch (specifierType) { + final Specifier specifier = switch (specifierType) { case USER -> mapper.treeToValue(specifierNode, UserSpecifier.class); case INVITE -> mapper.treeToValue(specifierNode, InviteSpecifier.class); case API_TOKEN -> mapper.treeToValue(specifierNode, ApiTokenSpecifier.class); }; // Construct the AccountAccessResponse object - var response = new AccountAccessResponse(); + final var response = new AccountAccessResponse(); response.setId(id); response.setSpecifier(specifier); diff --git a/src/main/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializer.java b/src/main/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializer.java index 13280a4..6ba3ec2 100644 --- a/src/main/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializer.java +++ b/src/main/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializer.java @@ -14,13 +14,13 @@ public class BlacklistsReportInfoDeserializer extends JsonDeserializer { @Override - public BlacklistsReportInfoWrapper deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException { - JsonNode node = jsonParser.getCodec().readTree(jsonParser); + public BlacklistsReportInfoWrapper deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JacksonException { + final JsonNode node = jsonParser.getCodec().readTree(jsonParser); if (node.isBoolean()) { return new BlacklistsReportInfoWrapper(node.asBoolean()); } else { - ObjectMapper mapper = (ObjectMapper) jsonParser.getCodec(); + final ObjectMapper mapper = (ObjectMapper) jsonParser.getCodec(); return new BlacklistsReportInfoWrapper(mapper.convertValue(node, BlacklistsReportInfo.class)); } } diff --git a/src/main/java/io/mailtrap/serialization/ErrorResponseDeserializer.java b/src/main/java/io/mailtrap/serialization/ErrorResponseDeserializer.java index 1c8e3bb..570e7c5 100644 --- a/src/main/java/io/mailtrap/serialization/ErrorResponseDeserializer.java +++ b/src/main/java/io/mailtrap/serialization/ErrorResponseDeserializer.java @@ -29,28 +29,28 @@ public class ErrorResponseDeserializer extends JsonDeserializer { @Override - public ErrorResponse deserialize(JsonParser p, DeserializationContext deserializationContext) + public ErrorResponse deserialize(final JsonParser p, final DeserializationContext deserializationContext) throws IOException { - JsonNode node = p.getCodec().readTree(p); + final JsonNode node = p.getCodec().readTree(p); - List errors = new ArrayList<>(); + final List errors = new ArrayList<>(); if (node.has("errors")) { - JsonNode errorsNode = node.get("errors"); + final JsonNode errorsNode = node.get("errors"); if (errorsNode.isArray()) { - Iterator elements = errorsNode.elements(); + final Iterator elements = errorsNode.elements(); while (elements.hasNext()) { errors.add(elements.next().asText()); } } else if (errorsNode.isTextual()) { errors.add(errorsNode.asText()); } else if (errorsNode.isObject()) { - Iterator> fields = errorsNode.fields(); + final Iterator> fields = errorsNode.fields(); while (fields.hasNext()) { - Map.Entry field = fields.next(); - JsonNode fieldValue = field.getValue(); + final Map.Entry field = fields.next(); + final JsonNode fieldValue = field.getValue(); if (fieldValue.isArray()) { - Iterator fieldElements = fieldValue.elements(); + final Iterator fieldElements = fieldValue.elements(); while (fieldElements.hasNext()) { errors.add(fieldElements.next().asText()); } diff --git a/src/test/java/io/mailtrap/CustomValidatorTest.java b/src/test/java/io/mailtrap/CustomValidatorTest.java index ac4770c..91deaa8 100644 --- a/src/test/java/io/mailtrap/CustomValidatorTest.java +++ b/src/test/java/io/mailtrap/CustomValidatorTest.java @@ -16,7 +16,7 @@ class CustomValidatorTest { @Test void validate_WithValidObject_ShouldReturnEmptyMap() { - Address validAddress = new Address("mail+123@gmail.com"); + final Address validAddress = new Address("mail+123@gmail.com"); Map errors = customValidator.validate(validAddress); @@ -25,9 +25,9 @@ void validate_WithValidObject_ShouldReturnEmptyMap() { @Test void validate_WithInvalidObject_ShouldReturnErrorsMap() { - Address invalidAddress = new Address("qwerty"); + final Address invalidAddress = new Address("qwerty"); - Map errors = customValidator.validate(invalidAddress); + final Map errors = customValidator.validate(invalidAddress); assertEquals(1, errors.size()); assertEquals("must be a well-formed email address", errors.get("email")); @@ -35,18 +35,18 @@ void validate_WithInvalidObject_ShouldReturnErrorsMap() { @Test void validateAndGetViolationsAsString_WithValidObject_ShouldReturnEmptyString() { - Address validAddress = new Address("mail+123@gmail.com"); + final Address validAddress = new Address("mail+123@gmail.com"); - String violationsAsString = customValidator.validateAndGetViolationsAsString(validAddress); + final String violationsAsString = customValidator.validateAndGetViolationsAsString(validAddress); assertEquals("", violationsAsString); } @Test void validateAndGetViolationsAsString_WithInvalidObject_ShouldReturnConcatenatedString() { - Address invalidAddress = new Address("qwerty"); + final Address invalidAddress = new Address("qwerty"); - String violationsAsString = customValidator.validateAndGetViolationsAsString(invalidAddress); + final String violationsAsString = customValidator.validateAndGetViolationsAsString(invalidAddress); assertEquals("email=must be a well-formed email address", violationsAsString); } diff --git a/src/test/java/io/mailtrap/api/accountaccesses/AccountAccessesImplTest.java b/src/test/java/io/mailtrap/api/accountaccesses/AccountAccessesImplTest.java index fb87867..1b4f385 100644 --- a/src/test/java/io/mailtrap/api/accountaccesses/AccountAccessesImplTest.java +++ b/src/test/java/io/mailtrap/api/accountaccesses/AccountAccessesImplTest.java @@ -22,7 +22,7 @@ class AccountAccessesImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/account_accesses", "GET", null, "api/account_access/getAccountAccessResponse.json"), @@ -34,7 +34,7 @@ public void init() { "DELETE", null, "api/account_access/removeAccountAccessResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -44,10 +44,12 @@ public void init() { @Test void test_listUserAndInviteAccountAccesses() { - List accountAccessResponses = api.listUserAndInviteAccountAccesses(accountId, ListAccountAccessQueryParams.empty()); + final List accountAccessResponses = api.listUserAndInviteAccountAccesses(accountId, ListAccountAccessQueryParams.empty()); assertFalse(accountAccessResponses.isEmpty()); - AccountAccessResponse accountAccessResponse = accountAccessResponses.get(0); + + final AccountAccessResponse accountAccessResponse = accountAccessResponses.get(0); + assertEquals(accountAccessResponse.getId(), accountAccessId); assertEquals(SpecifierType.USER, accountAccessResponse.getSpecifierType()); assertEquals("Jack Sparrow", ((UserSpecifier) accountAccessResponse.getSpecifier()).getName()); @@ -57,13 +59,15 @@ void test_listUserAndInviteAccountAccesses() { @Test void test_listUserAndInviteAccountAccessesWithProjectIdsQueryParam() { - ListAccountAccessQueryParams queryParams = new ListAccountAccessQueryParams(); + final ListAccountAccessQueryParams queryParams = new ListAccountAccessQueryParams(); queryParams.setProjectIds(List.of(String.valueOf(projectId), String.valueOf(anotherProjectId))); - List accountAccessResponses = api.listUserAndInviteAccountAccesses(accountId, queryParams); + final List accountAccessResponses = api.listUserAndInviteAccountAccesses(accountId, queryParams); assertFalse(accountAccessResponses.isEmpty()); - AccountAccessResponse accountAccessResponse = accountAccessResponses.get(0); + + final AccountAccessResponse accountAccessResponse = accountAccessResponses.get(0); + assertEquals(accountAccessResponse.getId(), accountAccessId); assertEquals(SpecifierType.API_TOKEN, accountAccessResponse.getSpecifierType()); assertEquals("token-value-11-22-33", ((ApiTokenSpecifier) accountAccessResponse.getSpecifier()).getToken()); @@ -73,7 +77,7 @@ void test_listUserAndInviteAccountAccessesWithProjectIdsQueryParam() { @Test void test_removeAccountAccess() { - RemoveAccountAccessResponse removeAccountAccessResponse = api.removeAccountAccess(accountAccessId, accountId); + final RemoveAccountAccessResponse removeAccountAccessResponse = api.removeAccountAccess(accountAccessId, accountId); assertNotNull(removeAccountAccessResponse); assertEquals(removeAccountAccessResponse.getId(), accountAccessId); diff --git a/src/test/java/io/mailtrap/api/accounts/AccountsImplTest.java b/src/test/java/io/mailtrap/api/accounts/AccountsImplTest.java index e77550c..0786eef 100644 --- a/src/test/java/io/mailtrap/api/accounts/AccountsImplTest.java +++ b/src/test/java/io/mailtrap/api/accounts/AccountsImplTest.java @@ -22,12 +22,12 @@ class AccountsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts", "GET", null, "api/accounts/getAllAccountsResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -37,7 +37,7 @@ public void init() { @Test void test_getAllAccounts() { - List accounts = api.getAllAccounts(); + final List accounts = api.getAllAccounts(); assertEquals(2, accounts.size()); assertEquals(accountId, accounts.get(0).getId()); diff --git a/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java b/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java index 7c43302..deb0fdc 100644 --- a/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java +++ b/src/test/java/io/mailtrap/api/attachments/AttachmentsImplTest.java @@ -20,7 +20,7 @@ class AttachmentsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId + "/attachments", "GET", null, "api/attachments/getAttachmentsResponse.json"), @@ -28,7 +28,7 @@ public void init() { "GET", null, "api/attachments/getAttachmentResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -38,17 +38,17 @@ public void init() { @Test public void test_getAttachments() { - List attachments = api.getAttachments(accountId, inboxId, messageId, null); + final List attachments = api.getAttachments(accountId, inboxId, messageId, null); assertEquals(1, attachments.size()); - AttachmentResponse attachment = attachments.get(0); + final AttachmentResponse attachment = attachments.get(0); assertEquals(attachmentId, attachment.getId()); } @Test public void test_getAttachment() { - AttachmentResponse attachment = api.getSingleAttachment(accountId, inboxId, messageId, attachmentId); + final AttachmentResponse attachment = api.getSingleAttachment(accountId, inboxId, messageId, attachmentId); assertNotNull(attachment); assertEquals(attachmentId, attachment.getId()); diff --git a/src/test/java/io/mailtrap/api/billing/BillingImplTest.java b/src/test/java/io/mailtrap/api/billing/BillingImplTest.java index b7f63c6..dad8d1d 100644 --- a/src/test/java/io/mailtrap/api/billing/BillingImplTest.java +++ b/src/test/java/io/mailtrap/api/billing/BillingImplTest.java @@ -20,12 +20,12 @@ class BillingImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/billing/usage", "GET", null, "api/billing/currentBillingCycleUsageResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -35,7 +35,7 @@ public void init() { @Test void getCurrentBillingCycleUsage() { - BillingResponse billingResponse = api.getCurrentBillingCycleUsage(accountId); + final BillingResponse billingResponse = api.getCurrentBillingCycleUsage(accountId); assertNotNull(billingResponse); assertEquals("Individual", billingResponse.getTestingBillingInfo().getPlan().getName()); diff --git a/src/test/java/io/mailtrap/api/bulkemails/BulkEmailsImplTest.java b/src/test/java/io/mailtrap/api/bulkemails/BulkEmailsImplTest.java index c0844fb..99dd561 100644 --- a/src/test/java/io/mailtrap/api/bulkemails/BulkEmailsImplTest.java +++ b/src/test/java/io/mailtrap/api/bulkemails/BulkEmailsImplTest.java @@ -24,7 +24,7 @@ class BulkEmailsImplTest extends BaseSendTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( Constants.BULK_SENDING_HOST + "/api/send", "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json" @@ -51,7 +51,7 @@ public void init() { ) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .bulk(true) @@ -63,77 +63,77 @@ public void init() { @Test void send_InvalidMailEmptyFromEmail_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createInvalidTestMail(); + final MailtrapMail mail = createInvalidTestMail(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(INVALID_REQUEST_EMPTY_BODY_FROM_EMAIL, exception.getMessage()); } @Test void send_MailWithoutTemplateUuidAndTextAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); + final MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndText(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndText(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateVariablesAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(TEMPLATE_VARIABLES_SHOULD_BE_USED_WITH_TEMPLATE_UUID, exception.getMessage()); } @Test void send_MailWithSubjectAndNoTextNoHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); + final MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(mail)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(null)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.send(null)); assertEquals(MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void send_ValidMail_SuccessResponse() { // Set up test data - var mail = createValidTestMail(); + final var mail = createValidTestMail(); // Perform call - SendResponse response = bulkEmails.send(mail); + final SendResponse response = bulkEmails.send(mail); // Assert assertTrue(response.isSuccess()); @@ -143,10 +143,10 @@ void send_ValidMail_SuccessResponse() { @Test void send_ValidMailFromTemplate_SuccessResponse() { // Set up test data - var mail = createTestMailFromTemplate(); + final var mail = createTestMailFromTemplate(); // Perform call - SendResponse response = bulkEmails.send(mail); + final SendResponse response = bulkEmails.send(mail); // Assert assertTrue(response.isSuccess()); @@ -156,10 +156,10 @@ void send_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMail_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); // Perform call - BatchSendResponse response = bulkEmails.batchSend(batchMail); + final BatchSendResponse response = bulkEmails.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -169,10 +169,10 @@ void batchSend_ValidMail_SuccessResponse() { @Test void batchSend_ValidMailFromTemplate_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); // Perform call - BatchSendResponse response = bulkEmails.batchSend(batchMail); + final BatchSendResponse response = bulkEmails.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -182,12 +182,12 @@ void batchSend_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").build()) .requests(List.of(createValidTestMailForBatchWithNoSubject())).build(); // Perform call - BatchSendResponse response = bulkEmails.batchSend(batchMail); + final BatchSendResponse response = bulkEmails.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -197,12 +197,12 @@ void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Perform call - BatchSendResponse response = bulkEmails.batchSend(batchMail); + final BatchSendResponse response = bulkEmails.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -212,29 +212,29 @@ void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { @Test void batchSend_InvalidMailWithNoSubjectAndTextNoBase_ThrowsInvalidRequestBodyException() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(batchMail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(batchMail)); assertEquals(SUBJECT_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(null)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(null)); assertEquals(BATCH_MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(batchMail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> bulkEmails.batchSend(batchMail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } } diff --git a/src/test/java/io/mailtrap/api/contactfields/ContactFieldsImplTest.java b/src/test/java/io/mailtrap/api/contactfields/ContactFieldsImplTest.java index 1d896c3..03b80fb 100644 --- a/src/test/java/io/mailtrap/api/contactfields/ContactFieldsImplTest.java +++ b/src/test/java/io/mailtrap/api/contactfields/ContactFieldsImplTest.java @@ -23,7 +23,7 @@ public class ContactFieldsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/fields", "GET", null, "api/contactfields/getAllContactFieldsResponse.json"), @@ -40,7 +40,7 @@ public void init() { "DELETE", null, null) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -50,7 +50,7 @@ public void init() { @Test void test_getAllContactFields() { - List allContactFields = api.getAllContactFields(accountId); + final List allContactFields = api.getAllContactFields(accountId); assertEquals(3, allContactFields.size()); assertEquals("First name", allContactFields.get(0).getName()); @@ -59,7 +59,7 @@ void test_getAllContactFields() { @Test void test_createContactField() { - ContactFieldResponse created = api.createContactField(accountId, new CreateContactFieldRequest("My Contact Field", ContactFieldDataType.BOOLEAN, "my_contact_field")); + final ContactFieldResponse created = api.createContactField(accountId, new CreateContactFieldRequest("My Contact Field", ContactFieldDataType.BOOLEAN, "my_contact_field")); assertNotNull(created); assertEquals(ContactFieldDataType.BOOLEAN, created.getDataType()); @@ -68,7 +68,7 @@ void test_createContactField() { @Test void test_getContactField() { - ContactFieldResponse contactField = api.getContactField(accountId, getFieldId); + final ContactFieldResponse contactField = api.getContactField(accountId, getFieldId); assertNotNull(contactField); assertEquals("First name", contactField.getName()); @@ -78,8 +78,7 @@ void test_getContactField() { @Test void test_updateContactField() { - - ContactFieldResponse contactFieldResponse = api.updateContactField(accountId, updateFieldId, new UpdateContactFieldRequest("My Updated Contact Field", "my_updated_contact_field")); + final ContactFieldResponse contactFieldResponse = api.updateContactField(accountId, updateFieldId, new UpdateContactFieldRequest("My Updated Contact Field", "my_updated_contact_field")); assertNotNull(contactFieldResponse); assertEquals(ContactFieldDataType.TEXT, contactFieldResponse.getDataType()); diff --git a/src/test/java/io/mailtrap/api/contactimports/ContactImportsImplTest.java b/src/test/java/io/mailtrap/api/contactimports/ContactImportsImplTest.java index f86b88a..18483d2 100644 --- a/src/test/java/io/mailtrap/api/contactimports/ContactImportsImplTest.java +++ b/src/test/java/io/mailtrap/api/contactimports/ContactImportsImplTest.java @@ -23,63 +23,63 @@ public class ContactImportsImplTest extends BaseTest { - private ContactImports api; + private ContactImports api; - @BeforeEach - public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/imports", - "POST", "api/contactimports/createContactsImportRequest.json", "api/contactimports/createContactsImportResponse.json"), + @BeforeEach + public void init() { + final TestHttpClient httpClient = new TestHttpClient(List.of( + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/imports", + "POST", "api/contactimports/createContactsImportRequest.json", "api/contactimports/createContactsImportResponse.json"), - DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/imports/" + importId, - "GET", null, "api/contactimports/getContactsImportResponse.json") - )); + DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/imports/" + importId, + "GET", null, "api/contactimports/getContactsImportResponse.json") + )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() - .httpClient(httpClient) - .token("dummy_token") - .build(); + final MailtrapConfig testConfig = new MailtrapConfig.Builder() + .httpClient(httpClient) + .token("dummy_token") + .build(); - api = MailtrapClientFactory.createMailtrapClient(testConfig).contactsApi().contactImports(); - } + api = MailtrapClientFactory.createMailtrapClient(testConfig).contactsApi().contactImports(); + } + + @Test + void test_importContacts() { + final var firstContact = new Contact("customer1@example.com", Map.of("full_name", "Jane Doe"), List.of(1L), List.of(2L)); + final var secondContact = new Contact("customer2@example.com", Map.of("full_name", "John Doe"), List.of(3L), List.of(4L)); + final var request = new ImportContactsRequest(List.of(firstContact, secondContact)); - @Test - void test_importContacts() { - final var firstContact = new Contact("customer1@example.com", Map.of("full_name", "Jane Doe"), List.of(1L), List.of(2L)); - final var secondContact = new Contact("customer2@example.com", Map.of("full_name", "John Doe"), List.of(3L), List.of(4L)); - final var request = new ImportContactsRequest(List.of(firstContact, secondContact)); + final CreateContactsImportResponse contactImportResponse = api.importContacts(accountId, request); - CreateContactsImportResponse contactImportResponse = api.importContacts(accountId, request); + assertEquals(importId, contactImportResponse.getId()); + assertSame(ContactImportStatus.STARTED, contactImportResponse.getStatus()); + } - assertEquals(importId, contactImportResponse.getId()); - assertSame(ContactImportStatus.STARTED, contactImportResponse.getStatus()); - } + @Test + void test_importContacts_should_fail_validation() { + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.importContacts(accountId, new ImportContactsRequest(generateContacts()))); - @Test - void test_importContacts_should_fail_validation() { - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.importContacts(accountId, new ImportContactsRequest(generateContacts()))); + assertEquals("Invalid request body. Violations: contacts=Maximum 50000 contacts per request", exception.getMessage()); + } - assertEquals("Invalid request body. Violations: contacts=Maximum 50000 contacts per request", exception.getMessage()); - } + private List generateContacts() { + final List contacts = new ArrayList<>(); - private List generateContacts() { - List contacts = new ArrayList<>(); + for (int i = 0; i < 50001; i++) { + contacts.add(new Contact(String.format("stub_contact_%d@example.com", i), Map.of(), List.of(), List.of())); + } - for (int i = 0; i < 50001; i++) { - contacts.add(new Contact("stub_contact_%d@example.com".formatted(i), Map.of(), List.of(), List.of())); + return contacts; } - return contacts; - } - - @Test - void test_getContactImport() { - ContactsImportResponse contactImport = api.getContactImport(accountId, importId); + @Test + void test_getContactImport() { + final ContactsImportResponse contactImport = api.getContactImport(accountId, importId); - assertEquals(importId, contactImport.getId()); - assertSame(ContactImportStatus.FINISHED, contactImport.getStatus()); - assertEquals(1L, contactImport.getCreatedContactsCount()); - assertEquals(3L, contactImport.getUpdatedContactsCount()); - assertEquals(3L, contactImport.getContactsOverLimitCount()); - } + assertEquals(importId, contactImport.getId()); + assertSame(ContactImportStatus.FINISHED, contactImport.getStatus()); + assertEquals(1L, contactImport.getCreatedContactsCount()); + assertEquals(3L, contactImport.getUpdatedContactsCount()); + assertEquals(3L, contactImport.getContactsOverLimitCount()); + } } diff --git a/src/test/java/io/mailtrap/api/contactlists/ContactListsImplTest.java b/src/test/java/io/mailtrap/api/contactlists/ContactListsImplTest.java index 0d7d4bb..b553f8c 100644 --- a/src/test/java/io/mailtrap/api/contactlists/ContactListsImplTest.java +++ b/src/test/java/io/mailtrap/api/contactlists/ContactListsImplTest.java @@ -20,12 +20,12 @@ class ContactListsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts/lists", "GET", null, "api/contact_lists/contactLists.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -35,7 +35,7 @@ public void init() { @Test void test_findAll() { - List contacts = api.findAll(accountId); + final List contacts = api.findAll(accountId); assertFalse(contacts.isEmpty()); assertEquals(2, contacts.size()); diff --git a/src/test/java/io/mailtrap/api/contacts/ContactsImplTest.java b/src/test/java/io/mailtrap/api/contacts/ContactsImplTest.java index 4c92be9..5b7101f 100644 --- a/src/test/java/io/mailtrap/api/contacts/ContactsImplTest.java +++ b/src/test/java/io/mailtrap/api/contacts/ContactsImplTest.java @@ -28,7 +28,7 @@ class ContactsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/contacts", "POST", "api/contacts/createContactRequest.json", "api/contacts/createContactResponse.json"), @@ -45,7 +45,7 @@ public void init() { "PATCH", "api/contacts/updateContactByIdRequest.json", "api/contacts/updateContactByIdResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -55,9 +55,9 @@ public void init() { @Test void test_createContact() { - CreateContactRequest request = new CreateContactRequest(new CreateContact(email, Map.of("first_name", "Nick"), List.of(1L, 2L))); + final CreateContactRequest request = new CreateContactRequest(new CreateContact(email, Map.of("first_name", "Nick"), List.of(1L, 2L))); - CreateContactResponse response = api.createContact(accountId, request); + final CreateContactResponse response = api.createContact(accountId, request); assertNotNull(response); assertEquals(ContactStatus.SUBSCRIBED, response.getStatus()); @@ -75,9 +75,9 @@ void test_deleteContact_byId() { @Test void test_updateContact_byEmail() { - UpdateContactRequest request = new UpdateContactRequest(new UpdateContact(email, Map.of("first_name", "Joe"), List.of(1L, 2L), List.of(3L, 4L), false)); + final UpdateContactRequest request = new UpdateContactRequest(new UpdateContact(email, Map.of("first_name", "Joe"), List.of(1L, 2L), List.of(3L, 4L), false)); - UpdateContactResponse response = api.updateContact(accountId, email, request); + final UpdateContactResponse response = api.updateContact(accountId, email, request); assertNotNull(response); assertEquals(ContactAction.UPDATED, response.getAction()); @@ -86,9 +86,9 @@ void test_updateContact_byEmail() { @Test void test_createContact_byId() { - UpdateContactRequest request = new UpdateContactRequest(new UpdateContact(email, Map.of("zip_code", 11111), List.of(1L, 2L), List.of(3L, 4L), false)); + final UpdateContactRequest request = new UpdateContactRequest(new UpdateContact(email, Map.of("zip_code", 11111), List.of(1L, 2L), List.of(3L, 4L), false)); - UpdateContactResponse response = api.updateContact(accountId, contactUUID, request); + final UpdateContactResponse response = api.updateContact(accountId, contactUUID, request); assertNotNull(response); assertEquals(ContactAction.UPDATED, response.getAction()); diff --git a/src/test/java/io/mailtrap/api/emailtemplates/EmailTemplatesImplTest.java b/src/test/java/io/mailtrap/api/emailtemplates/EmailTemplatesImplTest.java index a43944b..aeaa109 100644 --- a/src/test/java/io/mailtrap/api/emailtemplates/EmailTemplatesImplTest.java +++ b/src/test/java/io/mailtrap/api/emailtemplates/EmailTemplatesImplTest.java @@ -24,7 +24,7 @@ class EmailTemplatesImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/email_templates", "GET", null, "api/emailtemplates/getAllEmailTemplatesResponse.json"), @@ -41,7 +41,7 @@ public void init() { "DELETE", null, null) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -51,7 +51,7 @@ public void init() { @Test void test_getAllTemplates() { - List allTemplates = api.getAllTemplates(accountId); + final List allTemplates = api.getAllTemplates(accountId); assertEquals(2, allTemplates.size()); assertEquals(emailTemplateId, allTemplates.get(0).getId()); @@ -60,7 +60,7 @@ void test_getAllTemplates() { @Test void test_createEmailTemplate() { - CreateEmailTemplateRequest request = new CreateEmailTemplateRequest( + final CreateEmailTemplateRequest request = new CreateEmailTemplateRequest( new EmailTemplate( "My Email Template", "Promotion", @@ -68,7 +68,7 @@ void test_createEmailTemplate() { "Promotion Text body", "
Promotion body
")); - EmailTemplateResponse created = api.createEmailTemplate(accountId, request); + final EmailTemplateResponse created = api.createEmailTemplate(accountId, request); assertNotNull(created); assertEquals(emailTemplateId, created.getId()); @@ -77,7 +77,7 @@ void test_createEmailTemplate() { @Test void test_createEmailTemplate_shouldFailOnValidationFieldSize() { - CreateEmailTemplateRequest request = new CreateEmailTemplateRequest( + final CreateEmailTemplateRequest request = new CreateEmailTemplateRequest( new EmailTemplate( "1s9QhvF587zZkPQjGkyhtUrFcUDlrN04yAoItmoxiRonVkfjKxhX0GyuMhGh8OxDz2F6mJUExVXWKgX9NdreWSKcDjOEzGpxqUj3E9UOgnyvL75UAV9SSwaolnUniMLQ5gKPfVitS5D8xB3HJ4AE6YbSM72EmXt2qBOBni8dL5atGEKw9FGCa1OO7xyipGeq5sz9dlMMQlQl2n90LF94xntrCnXIEBTiaSXZ055rR73RbLnBAITsyTHxI9Sfy9nPgtpIhmAQwZETfd1t6ZN", "Promotion", @@ -85,23 +85,24 @@ void test_createEmailTemplate_shouldFailOnValidationFieldSize() { "Promotion Text body", "
Promotion body
")); - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.createEmailTemplate(accountId, request)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.createEmailTemplate(accountId, request)); - assertTrue(exception.getMessage().contains("Violations: emailTemplate.name=size must be between 1 and 255")); + assertTrue(exception.getMessage().contains("emailTemplate.name")); + assertTrue(exception.getMessage().contains("size must be between 1 and 255")); } @Test - void test_createEmailTemplate_shouldFailOnValidationWIthNullableBody() { - CreateEmailTemplateRequest request = new CreateEmailTemplateRequest(null); + void test_createEmailTemplate_shouldFailOnValidationWithNullableBody() { + final CreateEmailTemplateRequest request = new CreateEmailTemplateRequest(null); - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.createEmailTemplate(accountId, request)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.createEmailTemplate(accountId, request)); assertTrue(exception.getMessage().contains("Violations: emailTemplate=must not be null")); } @Test void test_getEmailTemplate() { - EmailTemplateResponse emailTemplate = api.getEmailTemplate(accountId, emailTemplateId); + final EmailTemplateResponse emailTemplate = api.getEmailTemplate(accountId, emailTemplateId); assertNotNull(emailTemplate); assertEquals(emailTemplateId, emailTemplate.getId()); @@ -110,7 +111,7 @@ void test_getEmailTemplate() { @Test void test_updateEmailTemplate() { - UpdateEmailTemplateRequest request = new UpdateEmailTemplateRequest( + final UpdateEmailTemplateRequest request = new UpdateEmailTemplateRequest( new EmailTemplate( "My Updated Email Template", "Promotion", @@ -118,7 +119,7 @@ void test_updateEmailTemplate() { "Promotion Text body", "
Promotion body
")); - EmailTemplateResponse updated = api.updateEmailTemplate(accountId, emailTemplateId, request); + final EmailTemplateResponse updated = api.updateEmailTemplate(accountId, emailTemplateId, request); assertNotNull(updated); assertEquals(emailTemplateId, updated.getId()); @@ -127,7 +128,7 @@ void test_updateEmailTemplate() { @Test void test_updateEmailTemplate_shouldFailOnValidationFieldSize() { - UpdateEmailTemplateRequest request = new UpdateEmailTemplateRequest( + final UpdateEmailTemplateRequest request = new UpdateEmailTemplateRequest( new EmailTemplate( "My Updated Email Template", "Promotion", @@ -135,9 +136,10 @@ void test_updateEmailTemplate_shouldFailOnValidationFieldSize() { "Promotion Text body", "
Promotion body
")); - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.updateEmailTemplate(accountId, emailTemplateId, request)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> api.updateEmailTemplate(accountId, emailTemplateId, request)); - assertTrue(exception.getMessage().contains("Violations: emailTemplate.subject=size must be between 1 and 255")); + assertTrue(exception.getMessage().contains("emailTemplate.subject")); + assertTrue(exception.getMessage().contains("size must be between 1 and 255")); } @Test diff --git a/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java b/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java index c0e0066..9d349ca 100644 --- a/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java +++ b/src/test/java/io/mailtrap/api/inboxes/InboxesImplTest.java @@ -24,7 +24,7 @@ class InboxesImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/projects/" + projectId + "/inboxes", "POST", "api/inbox/createInboxRequest.json", "api/inbox/inboxResponse.json"), @@ -56,7 +56,7 @@ public void init() { "GET", null, "api/inbox/listInboxResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -66,7 +66,7 @@ public void init() { @Test void test_createInbox() { - InboxResponse createdInbox = api.createInbox(accountId, projectId, new CreateInboxRequest(new InboxCreateData("Test inbox"))); + final InboxResponse createdInbox = api.createInbox(accountId, projectId, new CreateInboxRequest(new InboxCreateData("Test inbox"))); assertNotNull(createdInbox); assertEquals(createdInbox.getProjectId(), projectId); @@ -75,7 +75,7 @@ void test_createInbox() { @Test void test_getInboxAttributes() { - InboxResponse inboxAttributes = api.getInboxAttributes(accountId, inboxId); + final InboxResponse inboxAttributes = api.getInboxAttributes(accountId, inboxId); assertNotNull(inboxAttributes); assertTrue(inboxAttributes.getPermission().isCanRead()); @@ -85,7 +85,7 @@ void test_getInboxAttributes() { @Test void test_deleteInbox() { - InboxResponse deletedInbox = api.deleteInbox(accountId, inboxId); + final InboxResponse deletedInbox = api.deleteInbox(accountId, inboxId); assertNotNull(deletedInbox); assertTrue(deletedInbox.getPermission().isCanRead()); @@ -95,7 +95,7 @@ void test_deleteInbox() { @Test void test_updateInbox() { - InboxResponse updatedInbox = api.updateInbox(accountId, inboxId, new UpdateInboxRequest(new InboxUpdateData("Updated Inbox Name", "updated-email-username"))); + final InboxResponse updatedInbox = api.updateInbox(accountId, inboxId, new UpdateInboxRequest(new InboxUpdateData("Updated Inbox Name", "updated-email-username"))); assertNotNull(updatedInbox); assertTrue(updatedInbox.getPermission().isCanRead()); @@ -106,7 +106,7 @@ void test_updateInbox() { @Test void test_cleanInbox() { - InboxResponse cleanedInbox = api.cleanInbox(accountId, inboxId); + final InboxResponse cleanedInbox = api.cleanInbox(accountId, inboxId); assertNotNull(cleanedInbox); assertTrue(cleanedInbox.getPermission().isCanRead()); @@ -116,7 +116,7 @@ void test_cleanInbox() { @Test void test_markAsRead() { - InboxResponse markedAsRead = api.markAsRead(accountId, inboxId); + final InboxResponse markedAsRead = api.markAsRead(accountId, inboxId); assertNotNull(markedAsRead); assertTrue(markedAsRead.getPermission().isCanRead()); @@ -126,7 +126,7 @@ void test_markAsRead() { @Test void test_resetCredentials() { - InboxResponse resetCredentials = api.resetCredentials(accountId, inboxId); + final InboxResponse resetCredentials = api.resetCredentials(accountId, inboxId); assertNotNull(resetCredentials); assertTrue(resetCredentials.getPermission().isCanRead()); @@ -136,7 +136,7 @@ void test_resetCredentials() { @Test void test_enableEmailAddress() { - InboxResponse enableEmailAddress = api.enableEmailAddress(accountId, inboxId); + final InboxResponse enableEmailAddress = api.enableEmailAddress(accountId, inboxId); assertNotNull(enableEmailAddress); assertTrue(enableEmailAddress.getPermission().isCanRead()); @@ -146,7 +146,7 @@ void test_enableEmailAddress() { @Test void test_resetEmailAddresses() { - InboxResponse resetEmailAddresses = api.resetEmailAddresses(accountId, inboxId); + final InboxResponse resetEmailAddresses = api.resetEmailAddresses(accountId, inboxId); assertNotNull(resetEmailAddresses); assertTrue(resetEmailAddresses.getPermission().isCanRead()); @@ -156,7 +156,7 @@ void test_resetEmailAddresses() { @Test void test_getInboxes() { - List inboxes = api.getInboxes(accountId); + final List inboxes = api.getInboxes(accountId); assertNotNull(inboxes); assertEquals(1, inboxes.size()); diff --git a/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java b/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java index ae00593..c0e038d 100644 --- a/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java +++ b/src/test/java/io/mailtrap/api/messages/MessagesImplTest.java @@ -24,7 +24,7 @@ class MessagesImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/inboxes/" + inboxId + "/messages/" + messageId, "GET", null, "api/messages/messageResponse.json"), @@ -71,7 +71,7 @@ public void init() { "GET", null, "api/messages/messageHeadersResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -81,7 +81,7 @@ public void init() { @Test void test_getMessage() { - MessageResponse message = api.getMessage(accountId, inboxId, messageId); + final MessageResponse message = api.getMessage(accountId, inboxId, messageId); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -90,7 +90,7 @@ void test_getMessage() { @Test void test_updateMessage() { - MessageResponse message = api.updateMessage(accountId, inboxId, messageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); + final MessageResponse message = api.updateMessage(accountId, inboxId, messageId, new UpdateMessageRequest(new UpdateMessageRequest.MessageUpdateData("true"))); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -99,7 +99,7 @@ void test_updateMessage() { @Test void test_deleteMessage() { - MessageResponse message = api.deleteMessage(accountId, inboxId, messageId); + final MessageResponse message = api.deleteMessage(accountId, inboxId, messageId); assertNotNull(message); assertEquals(messageId, message.getId()); @@ -107,7 +107,7 @@ void test_deleteMessage() { @Test void test_getMessages() { - List messages = api.getMessages(accountId, inboxId, ListMessagesQueryParams.empty()); + final List messages = api.getMessages(accountId, inboxId, ListMessagesQueryParams.empty()); assertNotNull(messages); assertEquals(1, messages.size()); @@ -116,10 +116,10 @@ void test_getMessages() { @Test void test_getMessagesWithSearchQueryParam_emptyResponse() { - ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); + final ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); queryParams.setSearch("qqqqqqqq"); - List messages = api.getMessages(accountId, inboxId, queryParams); + final List messages = api.getMessages(accountId, inboxId, queryParams); assertNotNull(messages); assertTrue(messages.isEmpty()); @@ -127,10 +127,10 @@ void test_getMessagesWithSearchQueryParam_emptyResponse() { @Test void test_getMessagesWithSearchQueryParam_notEmptyResponse() { - ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); + final ListMessagesQueryParams queryParams = new ListMessagesQueryParams(); queryParams.setSearch("mary"); - List messages = api.getMessages(accountId, inboxId, queryParams); + final List messages = api.getMessages(accountId, inboxId, queryParams); assertNotNull(messages); assertEquals(1, messages.size()); @@ -139,7 +139,7 @@ void test_getMessagesWithSearchQueryParam_notEmptyResponse() { @Test void test_forwardMessage() { - ForwardMessageResponse forwardMessageResponse = api.forwardMessage(accountId, inboxId, messageId, new ForwardMessageRequest("jack@mailtrap.io")); + final ForwardMessageResponse forwardMessageResponse = api.forwardMessage(accountId, inboxId, 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() { - MessageSpamScoreResponse spamScore = api.getSpamScore(accountId, inboxId, messageId); + final MessageSpamScoreResponse spamScore = api.getSpamScore(accountId, inboxId, messageId); assertNotNull(spamScore); assertEquals("Not spam", spamScore.getReport().getResponseMessage()); @@ -155,7 +155,7 @@ void test_getSpamScore() { @Test void test_getMessageHtmlAnalysis() { - MessageHtmlAnalysisResponse htmlAnalysis = api.getMessageHtmlAnalysis(accountId, inboxId, messageId); + final MessageHtmlAnalysisResponse htmlAnalysis = api.getMessageHtmlAnalysis(accountId, inboxId, messageId); assertNotNull(htmlAnalysis); assertEquals("success", htmlAnalysis.getReport().getStatus()); @@ -164,42 +164,42 @@ void test_getMessageHtmlAnalysis() { @Test void test_getTextMessage() { - String textMessage = api.getTextMessage(accountId, inboxId, messageId); + final String textMessage = api.getTextMessage(accountId, inboxId, messageId); assertNotNull(textMessage); } @Test void test_getRawMessage() { - String rawMessage = api.getRawMessage(accountId, inboxId, messageId); + final String rawMessage = api.getRawMessage(accountId, inboxId, messageId); assertNotNull(rawMessage); } @Test void test_getMessageSource() { - String messageSource = api.getMessageSource(accountId, inboxId, messageId); + final String messageSource = api.getMessageSource(accountId, inboxId, messageId); assertNotNull(messageSource); } @Test void test_getHtmlMessage() { - String htmlMessage = api.getHtmlMessage(accountId, inboxId, messageId); + final String htmlMessage = api.getHtmlMessage(accountId, inboxId, messageId); assertNotNull(htmlMessage); } @Test void test_getMessageAsEml() { - String messageAsEml = api.getMessageAsEml(accountId, inboxId, messageId); + final String messageAsEml = api.getMessageAsEml(accountId, inboxId, messageId); assertNotNull(messageAsEml); } @Test void test_getMailHeaders() { - MessageHeadersResponse mailHeaders = api.getMailHeaders(accountId, inboxId, messageId); + final MessageHeadersResponse mailHeaders = api.getMailHeaders(accountId, inboxId, 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 d2a29da..a6abe61 100644 --- a/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java +++ b/src/test/java/io/mailtrap/api/permissions/PermissionsImplTest.java @@ -25,7 +25,7 @@ class PermissionsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/account_accesses/" + accountAccessId + "/permissions/bulk", "PUT", "api/permissions/updatePermissionsRequest.json", "api/permissions/updatePermissionsResponse.json"), @@ -33,7 +33,7 @@ public void init() { "GET", null, "api/permissions/getResourcesResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -43,7 +43,7 @@ public void init() { @Test void managePermissions() { - ManagePermissionsRequest request = new ManagePermissionsRequest(List.of( + 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) )); @@ -55,7 +55,7 @@ void managePermissions() { @Test void getResources() { - var resources = api.getResources(accountId); + final var resources = api.getResources(accountId); assertNotNull(resources); assertEquals(1, resources.size()); diff --git a/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java b/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java index 60d421f..52a06f9 100644 --- a/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java +++ b/src/test/java/io/mailtrap/api/projects/ProjectsImplTest.java @@ -24,7 +24,7 @@ class ProjectsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/projects", "POST", "api/projects/createProjectsRequest.json", "api/projects/projectResponse.json"), @@ -41,7 +41,7 @@ public void init() { "GET", null, "api/projects/listProjectsResponse.json") )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -51,7 +51,7 @@ public void init() { @Test void test_createProject() { - ProjectsResponse createdProject = api.createProject(accountId, new CreateUpdateProjectRequest(new ProjectData("My New Project"))); + final ProjectsResponse createdProject = api.createProject(accountId, new CreateUpdateProjectRequest(new ProjectData("My New Project"))); assertNotNull(createdProject); assertEquals(projectId, createdProject.getId()); @@ -60,7 +60,7 @@ void test_createProject() { @Test void test_getProjects() { - List projects = api.getProjects(accountId); + final List projects = api.getProjects(accountId); assertEquals(1, projects.size()); assertEquals(projectId, projects.get(0).getId()); @@ -70,7 +70,7 @@ void test_getProjects() { @Test void test_getProject() { - ProjectsResponse project = api.getProject(accountId, projectId); + final ProjectsResponse project = api.getProject(accountId, projectId); assertNotNull(project); assertEquals(projectId, project.getId()); @@ -80,7 +80,7 @@ void test_getProject() { @Test void test_updateProject() { - ProjectsResponse updatedProject = api.updateProject(accountId, projectId, new CreateUpdateProjectRequest(new ProjectData("Updated Project Name"))); + final ProjectsResponse updatedProject = api.updateProject(accountId, projectId, new CreateUpdateProjectRequest(new ProjectData("Updated Project Name"))); assertNotNull(updatedProject); assertEquals(projectId, updatedProject.getId()); @@ -90,7 +90,7 @@ void test_updateProject() { @Test void test_deleteProject() { - DeleteProjectResponse deletedProject = api.deleteProject(accountId, projectId); + final DeleteProjectResponse deletedProject = api.deleteProject(accountId, projectId); assertEquals(deletedProject.getId(), projectId); } diff --git a/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java b/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java index 29e9fc9..9d9d6ac 100644 --- a/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java +++ b/src/test/java/io/mailtrap/api/sendingdomains/SendingDomainsImplTest.java @@ -22,7 +22,7 @@ class SendingDomainsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/sending_domains", "POST", "api/sending_domains/createSendingDomainRequest.json", "api/sending_domains/sendingDomainResponse.json" @@ -45,7 +45,7 @@ public void init() { ) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -55,7 +55,7 @@ public void init() { @Test void test_create() { - SendingDomainsResponse response = domains.create(accountId, new CreateSendingDomainRequest(new CreateSendingDomainRequest.SendingDomainData("test.io"))); + final SendingDomainsResponse response = domains.create(accountId, new CreateSendingDomainRequest(new CreateSendingDomainRequest.SendingDomainData("test.io"))); assertNotNull(response); assertEquals("test.io", response.getDomainName()); @@ -64,7 +64,7 @@ void test_create() { @Test void test_getSendingDomains() { - List response = domains.getSendingDomains(accountId); + final List response = domains.getSendingDomains(accountId); assertFalse(response.isEmpty()); assertEquals(1, response.size()); @@ -75,7 +75,7 @@ void test_getSendingDomains() { @Test void test_getSendingDomain() { - SendingDomainsResponse response = domains.getSendingDomain(accountId, sendingDomainId); + final SendingDomainsResponse response = domains.getSendingDomain(accountId, sendingDomainId); assertNotNull(response); assertEquals("test.io", response.getDomainName()); diff --git a/src/test/java/io/mailtrap/api/sendingemails/SendingEmailsImplTest.java b/src/test/java/io/mailtrap/api/sendingemails/SendingEmailsImplTest.java index b2cf4b0..cbdc5b7 100644 --- a/src/test/java/io/mailtrap/api/sendingemails/SendingEmailsImplTest.java +++ b/src/test/java/io/mailtrap/api/sendingemails/SendingEmailsImplTest.java @@ -25,7 +25,7 @@ class SendingEmailsImplTest extends BaseSendTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( Constants.EMAIL_SENDING_SEND_HOST + "/api/send", "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json" @@ -52,7 +52,7 @@ public void init() { ) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -63,77 +63,77 @@ public void init() { @Test void send_InvalidMailEmptyFromEmail_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createInvalidTestMail(); + final MailtrapMail mail = createInvalidTestMail(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(INVALID_REQUEST_EMPTY_BODY_FROM_EMAIL, exception.getMessage()); } @Test void send_MailWithoutTemplateUuidAndTextAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); + final MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndText(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndText(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateVariablesAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(TEMPLATE_VARIABLES_SHOULD_BE_USED_WITH_TEMPLATE_UUID, exception.getMessage()); } @Test void send_MailWithSubjectAndNoTextNoHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); + final MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(mail)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(null)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.send(null)); assertEquals(MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void send_ValidMail_SuccessResponse() { // Set up test data - var mail = createValidTestMail(); + final var mail = createValidTestMail(); // Perform call - SendResponse response = sendApi.send(mail); + final SendResponse response = sendApi.send(mail); // Assert assertTrue(response.isSuccess()); @@ -143,10 +143,10 @@ void send_ValidMail_SuccessResponse() { @Test void send_ValidMailFromTemplate_SuccessResponse() { // Set up test data - var mail = createTestMailFromTemplate(); + final var mail = createTestMailFromTemplate(); // Perform call - SendResponse response = sendApi.send(mail); + final SendResponse response = sendApi.send(mail); // Assert assertTrue(response.isSuccess()); @@ -156,10 +156,10 @@ void send_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMail_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); // Perform call - BatchSendResponse response = sendApi.batchSend(batchMail); + final BatchSendResponse response = sendApi.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -169,10 +169,10 @@ void batchSend_ValidMail_SuccessResponse() { @Test void batchSend_ValidMailFromTemplate_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); // Perform call - BatchSendResponse response = sendApi.batchSend(batchMail); + final BatchSendResponse response = sendApi.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -182,12 +182,12 @@ void batchSend_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").build()) .requests(List.of(createValidTestMailForBatchWithNoSubject())).build(); // Perform call - BatchSendResponse response = sendApi.batchSend(batchMail); + final BatchSendResponse response = sendApi.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -197,12 +197,12 @@ void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Perform call - BatchSendResponse response = sendApi.batchSend(batchMail); + final BatchSendResponse response = sendApi.batchSend(batchMail); // Assert assertTrue(response.isSuccess()); @@ -212,29 +212,29 @@ void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { @Test void batchSend_InvalidMailWithNoSubjectAndTextNoBase_ThrowsInvalidRequestBodyException() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(batchMail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(batchMail)); assertEquals(SUBJECT_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(null)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(null)); assertEquals(BATCH_MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(batchMail)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> sendApi.batchSend(batchMail)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } } diff --git a/src/test/java/io/mailtrap/api/suppressions/SuppressionsImplTest.java b/src/test/java/io/mailtrap/api/suppressions/SuppressionsImplTest.java index 4c0460e..c485248 100644 --- a/src/test/java/io/mailtrap/api/suppressions/SuppressionsImplTest.java +++ b/src/test/java/io/mailtrap/api/suppressions/SuppressionsImplTest.java @@ -24,7 +24,7 @@ class SuppressionsImplTest extends BaseTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( Constants.GENERAL_HOST + "/api/accounts/" + accountId + "/suppressions", "GET", null, "api/suppressions/searchSuppressions.json", @@ -36,7 +36,7 @@ public void init() { ) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .build(); @@ -46,7 +46,7 @@ public void init() { @Test void test_search() { - List searchResponse = api.search(accountId, email); + final List searchResponse = api.search(accountId, email); assertEquals(1, searchResponse.size()); assertEquals(suppressionId, searchResponse.get(0).getId()); @@ -57,7 +57,7 @@ void test_search() { @Test void test_deleteSuppression() { - SuppressionsResponse deleted = api.deleteSuppression(accountId, suppressionId); + final SuppressionsResponse deleted = api.deleteSuppression(accountId, suppressionId); assertNotNull(deleted); assertEquals(suppressionId, deleted.getId()); diff --git a/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java b/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java index ac70b31..369c0f4 100644 --- a/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java +++ b/src/test/java/io/mailtrap/api/testingemails/TestingEmailsImplTest.java @@ -25,7 +25,7 @@ class TestingEmailsImplTest extends BaseSendTest { @BeforeEach public void init() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build( Constants.EMAIL_TESTING_SEND_HOST + "/api/send/" + INBOX_ID, "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json" @@ -52,7 +52,7 @@ public void init() { ) )); - MailtrapConfig testConfig = new MailtrapConfig.Builder() + final MailtrapConfig testConfig = new MailtrapConfig.Builder() .httpClient(httpClient) .token("dummy_token") .sandbox(true) @@ -65,77 +65,77 @@ public void init() { @Test void send_InvalidMailEmptyFromEmail_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createInvalidTestMail(); + final MailtrapMail mail = createInvalidTestMail(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(INVALID_REQUEST_EMPTY_BODY_FROM_EMAIL, exception.getMessage()); } @Test void send_MailWithoutTemplateUuidAndTextAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); + final MailtrapMail mail = createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndText(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndText(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateUuidAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateUuidAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(TEMPLATE_UUID_IS_USED_SUBJECT_AND_TEXT_AND_HTML_SHOULD_BE_EMPTY, exception.getMessage()); } @Test void send_MailWithTemplateVariablesAndHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); + final MailtrapMail mail = createTestMailWithTemplateVariablesAndHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(TEMPLATE_VARIABLES_SHOULD_BE_USED_WITH_TEMPLATE_UUID, exception.getMessage()); } @Test void send_MailWithSubjectAndNoTextNoHtml_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); + final MailtrapMail mail = createTestMailWithSubjectAndNoTextAndNoHtml(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(mail, INBOX_ID)); assertEquals(MAIL_MUST_HAVE_SUBJECT_AND_EITHER_TEXT_OR_HTML, exception.getMessage()); } @Test void send_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(null, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.send(null, INBOX_ID)); assertEquals(MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void send_ValidMail_SuccessResponse() { // Set up test data - var mail = createValidTestMail(); + final var mail = createValidTestMail(); // Perform call - SendResponse response = testingApi.send(mail, INBOX_ID); + final SendResponse response = testingApi.send(mail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -145,10 +145,10 @@ void send_ValidMail_SuccessResponse() { @Test void send_ValidMailFromTemplate_SuccessResponse() { // Set up test data - var mail = createTestMailFromTemplate(); + final var mail = createTestMailFromTemplate(); // Perform call - SendResponse response = testingApi.send(mail, INBOX_ID); + final SendResponse response = testingApi.send(mail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -158,10 +158,10 @@ void send_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMail_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); // Perform call - BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -171,10 +171,10 @@ void batchSend_ValidMail_SuccessResponse() { @Test void batchSend_ValidMailFromTemplate_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailFromTemplate())).build(); // Perform call - BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -184,12 +184,12 @@ void batchSend_ValidMailFromTemplate_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").build()) .requests(List.of(createValidTestMailForBatchWithNoSubject())).build(); // Perform call - BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -199,12 +199,12 @@ void batchSend_ValidMailWithSubjectFromBase_SuccessResponse() { @Test void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().subject("Sample valid mail subject").text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Perform call - BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); + final BatchSendResponse response = testingApi.batchSend(batchMail, INBOX_ID); // Assert assertTrue(response.isSuccess()); @@ -214,30 +214,30 @@ void batchSend_ValidMailWithSubjectAndTextFromBase_SuccessResponse() { @Test void batchSend_InvalidMailWithNoSubjectAndTextNoBase_ThrowsInvalidRequestBodyException() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder() + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder() .base(BatchEmailBase.builder().text("Sample valid mail text").build()) .requests(List.of(createTestMailForBatchWithNoSubjectAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_ID)); assertEquals(SUBJECT_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_NullableMail_ThrowsInvalidRequestBodyException() { // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(null, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(null, INBOX_ID)); assertEquals(BATCH_MAIL_MUST_NOT_BE_NULL, exception.getMessage()); } @Test void batchSend_MailWithTemplateUuidAndText_ThrowsInvalidRequestBodyException() { // Set up invalid data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createTestMailWithTemplateUuidAndText())).build(); // Assert - InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_ID)); + final InvalidRequestBodyException exception = assertThrows(InvalidRequestBodyException.class, () -> testingApi.batchSend(batchMail, INBOX_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 797243b..902d14a 100644 --- a/src/test/java/io/mailtrap/client/MailtrapClientTest.java +++ b/src/test/java/io/mailtrap/client/MailtrapClientTest.java @@ -25,7 +25,7 @@ class MailtrapClientTest extends BaseSendTest { @BeforeEach void setUp() { - TestHttpClient httpClient = new TestHttpClient(List.of( + final TestHttpClient httpClient = new TestHttpClient(List.of( DataMock.build(Constants.EMAIL_TESTING_SEND_HOST + "/api/send/" + INBOX_ID, "POST", "api/emails/sendRequest.json", "api/emails/sendResponse.json"), @@ -45,7 +45,7 @@ void setUp() { "api/emails/batchSendRequest.json", "api/emails/batchSendResponse.json") )); - MailtrapConfig mailtrapConfig = new MailtrapConfig.Builder() + final MailtrapConfig mailtrapConfig = new MailtrapConfig.Builder() .token("dummy-token") .httpClient(httpClient) .build(); @@ -56,12 +56,12 @@ void setUp() { @Test void test_sendBulk_success() { // Set up test data - MailtrapMail mailtrapMail = createValidTestMail(); + final MailtrapMail mailtrapMail = createValidTestMail(); mailtrapClient.switchToBulkSendingApi(); // Call - SendResponse response = mailtrapClient.send(mailtrapMail); + final SendResponse response = mailtrapClient.send(mailtrapMail); // Assert assertEquals("11111", response.getMessageIds().get(0)); @@ -70,12 +70,12 @@ void test_sendBulk_success() { @Test void test_sendSandbox_success() { // Set up test data - MailtrapMail mailtrapMail = createValidTestMail(); + final MailtrapMail mailtrapMail = createValidTestMail(); mailtrapClient.switchToEmailTestingApi(INBOX_ID); // Call - SendResponse response = mailtrapClient.send(mailtrapMail); + final SendResponse response = mailtrapClient.send(mailtrapMail); // Assert assertEquals("11111", response.getMessageIds().get(0)); @@ -84,10 +84,10 @@ void test_sendSandbox_success() { @Test void test_send_success() { // Set up test data - MailtrapMail mailtrapMail = createValidTestMail(); + final MailtrapMail mailtrapMail = createValidTestMail(); // Call - SendResponse response = mailtrapClient.send(mailtrapMail); + final SendResponse response = mailtrapClient.send(mailtrapMail); // Assert assertEquals("11111", response.getMessageIds().get(0)); @@ -96,12 +96,12 @@ void test_send_success() { @Test void test_batchSendBulk_success() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); mailtrapClient.switchToBulkSendingApi(); // Call - BatchSendResponse response = mailtrapClient.batchSend(batchMail); + final BatchSendResponse response = mailtrapClient.batchSend(batchMail); // Assert assertEquals(1, response.getResponses().size()); @@ -111,12 +111,12 @@ void test_batchSendBulk_success() { @Test void test_batchSendSandbox_success() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); mailtrapClient.switchToEmailTestingApi(INBOX_ID); // Call - BatchSendResponse response = mailtrapClient.batchSend(batchMail); + final BatchSendResponse response = mailtrapClient.batchSend(batchMail); // Assert assertEquals(1, response.getResponses().size()); @@ -126,10 +126,10 @@ void test_batchSendSandbox_success() { @Test void test_batchSend_success() { // Set up test data - MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); + final MailtrapBatchMail batchMail = MailtrapBatchMail.builder().requests(List.of(createValidTestMail())).build(); // Call - BatchSendResponse response = mailtrapClient.batchSend(batchMail); + final BatchSendResponse response = mailtrapClient.batchSend(batchMail); // Assert assertEquals(1, response.getResponses().size()); @@ -139,7 +139,7 @@ void test_batchSend_success() { @Test void test_bulkAndSandboxTrue_ThrowsBaseMailtrapException() { // Set up test data and call - BaseMailtrapException exception = assertThrows(BaseMailtrapException.class, () -> new MailtrapConfig.Builder() + final BaseMailtrapException exception = assertThrows(BaseMailtrapException.class, () -> new MailtrapConfig.Builder() .bulk(true) .sandbox(true) .build()); @@ -151,7 +151,7 @@ void test_bulkAndSandboxTrue_ThrowsBaseMailtrapException() { @Test void test_sandboxTrueAndInboxIdIsNull_ThrowsBaseMailtrapException() { // Set up test data and call - BaseMailtrapException exception = assertThrows(BaseMailtrapException.class, () -> new MailtrapConfig.Builder() + final BaseMailtrapException exception = assertThrows(BaseMailtrapException.class, () -> new MailtrapConfig.Builder() .sandbox(true) .inboxId(null) .build()); diff --git a/src/test/java/io/mailtrap/serialization/AccountAccessResponseDeserializerTest.java b/src/test/java/io/mailtrap/serialization/AccountAccessResponseDeserializerTest.java index 2362c85..cc6bfb5 100644 --- a/src/test/java/io/mailtrap/serialization/AccountAccessResponseDeserializerTest.java +++ b/src/test/java/io/mailtrap/serialization/AccountAccessResponseDeserializerTest.java @@ -18,7 +18,7 @@ class AccountAccessResponseDeserializerTest { @Test void testApiTokenSpecifierDeserialization() throws Exception { - String json = """ + final String json = """ { "id": 1, "specifier_type": "ApiToken", @@ -38,10 +38,11 @@ void testApiTokenSpecifierDeserialization() throws Exception { } """; - AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); + final AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); assertInstanceOf(ApiTokenSpecifier.class, response.getSpecifier()); - ApiTokenSpecifier apiTokenSpecifier = (ApiTokenSpecifier) response.getSpecifier(); + + final ApiTokenSpecifier apiTokenSpecifier = (ApiTokenSpecifier) response.getSpecifier(); assertEquals(1, apiTokenSpecifier.getId()); assertEquals("Token", apiTokenSpecifier.getName()); assertEquals("xyz", apiTokenSpecifier.getToken()); @@ -50,7 +51,7 @@ void testApiTokenSpecifierDeserialization() throws Exception { @Test void testInviteSpecifierDeserialization() throws Exception { - String json = """ + final String json = """ { "id": 1, "specifier_type": "Invite", @@ -68,17 +69,18 @@ void testInviteSpecifierDeserialization() throws Exception { } """; - AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); + final AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); assertInstanceOf(InviteSpecifier.class, response.getSpecifier()); - InviteSpecifier inviteSpecifier = (InviteSpecifier) response.getSpecifier(); + + final InviteSpecifier inviteSpecifier = (InviteSpecifier) response.getSpecifier(); assertEquals(2, inviteSpecifier.getId()); assertEquals("invite@example.com", inviteSpecifier.getEmail()); } @Test void testUserSpecifierDeserialization() throws Exception { - String json = """ + final String json = """ { "id": 3, "specifier_type": "User", @@ -98,10 +100,11 @@ void testUserSpecifierDeserialization() throws Exception { } """; - AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); + final AccountAccessResponse response = mapper.readValue(json, AccountAccessResponse.class); assertInstanceOf(UserSpecifier.class, response.getSpecifier()); - UserSpecifier userSpecifier = (UserSpecifier) response.getSpecifier(); + + final UserSpecifier userSpecifier = (UserSpecifier) response.getSpecifier(); assertEquals(3, userSpecifier.getId()); assertEquals("user@example.com", userSpecifier.getEmail()); assertEquals("John Doe", userSpecifier.getName()); @@ -110,7 +113,7 @@ void testUserSpecifierDeserialization() throws Exception { @Test void testMissingFields() { - String json = """ + final String json = """ { "id": 3, "specifier_type": "Unknown", @@ -128,7 +131,7 @@ void testMissingFields() { } """; - IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, + final IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> mapper.readValue(json, AccountAccessResponse.class)); assertTrue(exception.getMessage().contains("Invalid specifier_type provided")); } diff --git a/src/test/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializerTest.java b/src/test/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializerTest.java index 0be56d9..cce3ba9 100644 --- a/src/test/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializerTest.java +++ b/src/test/java/io/mailtrap/serialization/BlacklistsReportInfoDeserializerTest.java @@ -15,7 +15,7 @@ public class BlacklistsReportInfoDeserializerTest { @Test void testApiTokenSpecifierDeserialization() throws Exception { - String json = """ + final String json = """ { "id": 3, "inbox_id": 2, @@ -23,7 +23,7 @@ void testApiTokenSpecifierDeserialization() throws Exception { } """; - MessageResponse message = mapper.readValue(json, MessageResponse.class); + final MessageResponse message = mapper.readValue(json, MessageResponse.class); assertEquals(3, message.getId()); assertEquals(2, message.getInboxId()); @@ -34,7 +34,7 @@ void testApiTokenSpecifierDeserialization() throws Exception { @Test void testApiTokenSpecifierDeserialization2() throws Exception { - String json = """ + final String json = """ { "id": 4, "inbox_id": 5, @@ -53,14 +53,14 @@ void testApiTokenSpecifierDeserialization2() throws Exception { } """; - MessageResponse message = mapper.readValue(json, MessageResponse.class); + final MessageResponse message = mapper.readValue(json, MessageResponse.class); assertEquals(4, message.getId()); assertEquals(5, message.getInboxId()); assertNotNull(message.getBlacklistsReportInfoWrapper()); assertFalse(message.getBlacklistsReportInfoWrapper().isBoolean()); - BlacklistsReportInfo blacklistsReportInfo = message.getBlacklistsReportInfoWrapper().getObjectValue(); + final BlacklistsReportInfo blacklistsReportInfo = message.getBlacklistsReportInfoWrapper().getObjectValue(); assertEquals(BlacklistReportInfoResult.SUCCESS, blacklistsReportInfo.getResult()); assertEquals(1, blacklistsReportInfo.getReport().size()); } diff --git a/src/test/java/io/mailtrap/serialization/ErrorResponseDeserializerTest.java b/src/test/java/io/mailtrap/serialization/ErrorResponseDeserializerTest.java index 01a85b5..046387b 100644 --- a/src/test/java/io/mailtrap/serialization/ErrorResponseDeserializerTest.java +++ b/src/test/java/io/mailtrap/serialization/ErrorResponseDeserializerTest.java @@ -14,11 +14,11 @@ class ErrorResponseDeserializerTest { @Test void deserialize_JsonWithTwoErrors_ShouldReturnListWithTwoEntries() throws Exception { - var errorJson = """ + final var errorJson = """ {"errors": ["Unauthorized", "Your token is not valid"]}"""; - try (JsonParser parser = new JsonFactory().createParser(errorJson)) { + try (final JsonParser parser = new JsonFactory().createParser(errorJson)) { parser.setCodec(Mapper.get()); - ErrorResponse deserialize = deserializer.deserialize(parser, null); + final ErrorResponse deserialize = deserializer.deserialize(parser, null); assertEquals(2, deserialize.getErrors().size()); } @@ -26,11 +26,11 @@ void deserialize_JsonWithTwoErrors_ShouldReturnListWithTwoEntries() throws Excep @Test void deserialize_JsonWithSingleError_ShouldReturnListWithOneEntry() throws Exception { - var errorJson = """ + final var errorJson = """ {"error": "Unauthorized"}"""; - try (JsonParser parser = new JsonFactory().createParser(errorJson)) { + try (final JsonParser parser = new JsonFactory().createParser(errorJson)) { parser.setCodec(Mapper.get()); - ErrorResponse deserialize = deserializer.deserialize(parser, null); + final ErrorResponse deserialize = deserializer.deserialize(parser, null); assertEquals(1, deserialize.getErrors().size()); } @@ -38,12 +38,12 @@ void deserialize_JsonWithSingleError_ShouldReturnListWithOneEntry() throws Excep @Test void deserialize_ErrorsIsAnObject_ShouldReturnListWithOneEntry() throws Exception { - var errorJson = """ + final var errorJson = """ {"errors":{"name":["You've reached the projects limit. Please upgrade your plan to create the new project."]}} """; - try (JsonParser parser = new JsonFactory().createParser(errorJson)) { + try (final JsonParser parser = new JsonFactory().createParser(errorJson)) { parser.setCodec(Mapper.get()); - ErrorResponse deserialize = deserializer.deserialize(parser, null); + final ErrorResponse deserialize = deserializer.deserialize(parser, null); assertEquals(1, deserialize.getErrors().size()); } diff --git a/src/test/java/io/mailtrap/testutils/BaseSendTest.java b/src/test/java/io/mailtrap/testutils/BaseSendTest.java index a2e0797..daf1f49 100644 --- a/src/test/java/io/mailtrap/testutils/BaseSendTest.java +++ b/src/test/java/io/mailtrap/testutils/BaseSendTest.java @@ -21,7 +21,7 @@ public class BaseSendTest { protected final String BATCH_MAIL_MUST_NOT_BE_NULL = "BatchMail must not be null"; protected final String SUBJECT_MUST_NOT_BE_NULL = "Subject must not be null or empty"; - private Address getAddress(String email, String name) { + private Address getAddress(final String email, final String name) { return new Address(email, name); } @@ -34,9 +34,9 @@ private EmailAttachment getAttachment() { } protected MailtrapMail createValidTestMail() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -49,9 +49,9 @@ protected MailtrapMail createValidTestMail() { } protected MailtrapMail createValidTestMailForBatchWithNoSubject() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -63,9 +63,9 @@ protected MailtrapMail createValidTestMailForBatchWithNoSubject() { } protected MailtrapMail createTestMailForBatchWithNoSubjectAndText() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -75,9 +75,9 @@ protected MailtrapMail createTestMailForBatchWithNoSubjectAndText() { } protected MailtrapMail createInvalidTestMail() { - Address from = getAddress("", "John Doe"); - Address to = getAddress("receiver@example.com", null); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("", "John Doe"); + final Address to = getAddress("receiver@example.com", null); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -90,9 +90,9 @@ protected MailtrapMail createInvalidTestMail() { } protected MailtrapMail createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -102,9 +102,9 @@ protected MailtrapMail createTestMailWithoutTemplateUuidAndSubjectAndTextAndHtml } protected MailtrapMail createTestMailWithSubjectAndNoTextAndNoHtml() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -115,9 +115,9 @@ protected MailtrapMail createTestMailWithSubjectAndNoTextAndNoHtml() { } protected MailtrapMail createTestMailWithTemplateUuidAndText() { - Address from = getAddress("sender@example.com", null); - Address to = getAddress("receiver@example.com", null); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", null); + final Address to = getAddress("receiver@example.com", null); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -130,9 +130,9 @@ protected MailtrapMail createTestMailWithTemplateUuidAndText() { } protected MailtrapMail createTestMailWithTemplateUuidAndHtml() { - Address from = getAddress("sender@example.com", "John Doe"); - Address to = getAddress("receiver@example.com", "Jane Doe"); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", "John Doe"); + final Address to = getAddress("receiver@example.com", "Jane Doe"); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -145,9 +145,9 @@ protected MailtrapMail createTestMailWithTemplateUuidAndHtml() { } protected MailtrapMail createTestMailWithTemplateVariablesAndHtml() { - Address from = getAddress("sender@example.com", null); - Address to = getAddress("receiver@example.com", null); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", null); + final Address to = getAddress("receiver@example.com", null); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) @@ -160,9 +160,9 @@ protected MailtrapMail createTestMailWithTemplateVariablesAndHtml() { } protected MailtrapMail createTestMailFromTemplate() { - Address from = getAddress("sender@example.com", null); - Address to = getAddress("receiver@example.com", null); - EmailAttachment attachment = getAttachment(); + final Address from = getAddress("sender@example.com", null); + final Address to = getAddress("receiver@example.com", null); + final EmailAttachment attachment = getAttachment(); return MailtrapMail.builder() .from(from) diff --git a/src/test/java/io/mailtrap/testutils/BaseTest.java b/src/test/java/io/mailtrap/testutils/BaseTest.java index c0c2610..f9e2dca 100644 --- a/src/test/java/io/mailtrap/testutils/BaseTest.java +++ b/src/test/java/io/mailtrap/testutils/BaseTest.java @@ -1,12 +1,12 @@ package io.mailtrap.testutils; import java.net.URLEncoder; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; public class BaseTest { protected final Long accountId = 1L; protected final Long anotherAccountId = 2L; - protected final long inboxId = 2; + protected final Long inboxId = 2L; protected final Long projectId = 2L; protected final Long anotherProjectId = 2L; protected final Long messageId = 3L; @@ -14,14 +14,14 @@ public class BaseTest { protected final Long accountAccessId = 5L; protected final Long sendingDomainId = 6L; protected final String email = "email@mailtrap.io"; - protected final String emailEncoded = URLEncoder.encode(email, Charset.defaultCharset()); + protected final String emailEncoded = URLEncoder.encode(email, StandardCharsets.UTF_8); protected final String contactUUID = "018dd5e3-f6d2-7c00-8f9b-e5c3f2d8a132"; - protected final String contactUUIDEncoded = URLEncoder.encode(contactUUID, Charset.defaultCharset()); - protected final long importId = 1L; - protected final long getFieldId = 777L; - protected final long updateFieldId = 999L; - protected final long deleteFieldId = 1111L; + protected final String contactUUIDEncoded = URLEncoder.encode(contactUUID, StandardCharsets.UTF_8); + protected final Long importId = 1L; + protected final Long getFieldId = 777L; + protected final Long updateFieldId = 999L; + protected final Long deleteFieldId = 1111L; protected final String suppressionId = "2fe148b8-b019-431f-ab3f-107663fdf868"; - protected final String suppressionIdEncoded = URLEncoder.encode(suppressionId, Charset.defaultCharset()); - protected final long emailTemplateId = 2222L; + protected final String suppressionIdEncoded = URLEncoder.encode(suppressionId, StandardCharsets.UTF_8); + protected final Long emailTemplateId = 2222L; } diff --git a/src/test/java/io/mailtrap/testutils/DataMock.java b/src/test/java/io/mailtrap/testutils/DataMock.java index 6bc63a0..338dcd0 100644 --- a/src/test/java/io/mailtrap/testutils/DataMock.java +++ b/src/test/java/io/mailtrap/testutils/DataMock.java @@ -21,7 +21,7 @@ public class DataMock { @NonNull private final Map queryParams; - public static DataMock build(String url, String methodName, String requestFile, String responseFile) { + public static DataMock build(final String url, final String methodName, final String requestFile, final String responseFile) { return new DataMock( url, methodName, @@ -31,7 +31,7 @@ public static DataMock build(String url, String methodName, String requestFile, ); } - public static DataMock build(String url, String methodName, String requestFile, String responseFile, Map queryParams) { + public static DataMock build(final String url, final String methodName, final String requestFile, final String responseFile, final Map queryParams) { return new DataMock( url, methodName, diff --git a/src/test/java/io/mailtrap/testutils/TestHttpClient.java b/src/test/java/io/mailtrap/testutils/TestHttpClient.java index faa7886..34fece5 100644 --- a/src/test/java/io/mailtrap/testutils/TestHttpClient.java +++ b/src/test/java/io/mailtrap/testutils/TestHttpClient.java @@ -20,7 +20,7 @@ public class TestHttpClient implements CustomHttpClient { private final Map> mocks; - public TestHttpClient(List mocks) { + public TestHttpClient(final List mocks) { this.mocks = mocks.stream().collect( Collectors.groupingBy( mock -> getRequestIdentifier(mock.getUrl(), mock.getMethodName()) @@ -29,38 +29,38 @@ public TestHttpClient(List mocks) { } @Override - public T get(String url, RequestData requestData, Class responseType) throws HttpException { + public T get(final String url, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "GET", null, requestData, responseType); } @Override - public List getList(String url, RequestData requestData, Class responseClassType) throws HttpException { - JavaType responseType = TypeFactory.defaultInstance().constructCollectionType(List.class, responseClassType); + public List getList(final String url, final RequestData requestData, final Class responseClassType) throws HttpException { + final JavaType responseType = TypeFactory.defaultInstance().constructCollectionType(List.class, responseClassType); return this.request(url, "GET", null, requestData, responseType); } @Override - public T delete(String url, RequestData requestData, Class responseType) throws HttpException { + public T delete(final String url, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "DELETE", null, requestData, responseType); } @Override - public T head(String url, RequestData requestData, Class responseType) throws HttpException { + public T head(final String url, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "HEAD", null, requestData, responseType); } @Override - public T post(String url, V data, RequestData requestData, Class responseType) throws HttpException { + public T post(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "POST", data, requestData, responseType); } @Override - public T put(String url, V data, RequestData requestData, Class responseType) throws HttpException { + public T put(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "PUT", data, requestData, responseType); } @Override - public T patch(String url, V data, RequestData requestData, Class responseType) throws HttpException { + public T patch(final String url, final V data, final RequestData requestData, final Class responseType) throws HttpException { return this.request(url, "PATCH", data, requestData, responseType); } @@ -68,24 +68,24 @@ private T request(String url, String methodName, V return requestInternal(url, methodName, requestBody, requestData, responseType, null); } - private T request(String url, String methodName, V requestBody, RequestData requestData, JavaType responseType) throws HttpException { + private T request(final String url, final String methodName, final V requestBody, final RequestData requestData, final JavaType responseType) throws HttpException { return requestInternal(url, methodName, requestBody, requestData, null, responseType); } - private T requestInternal(String url, String methodName, V requestBody, RequestData requestData, Class responseClassType, JavaType responseJavaType) throws HttpException { + private T requestInternal(final String url, final String methodName, final V requestBody, final RequestData requestData, final Class responseClassType, final JavaType responseJavaType) throws HttpException { try { - String requestIdentifier = this.getRequestIdentifier(url, methodName); + final String requestIdentifier = this.getRequestIdentifier(url, methodName); if (!this.mocks.containsKey(requestIdentifier)) { throw new AssertionError("No mock data for request: " + requestIdentifier); } - List dataMocks = this.mocks.get(requestIdentifier); + final List dataMocks = this.mocks.get(requestIdentifier); for (int i = 0; i < dataMocks.size(); i++) { - var dataMock = dataMocks.get(i); + final var dataMock = dataMocks.get(i); - Map urlParams = requestData.getQueryParams().entrySet().stream() + final Map urlParams = requestData.getQueryParams().entrySet().stream() .filter(entry -> entry.getValue().isPresent()) .collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().get())); if (!urlParams.equals(dataMock.getQueryParams()) && i == dataMocks.size() - 1) { @@ -100,15 +100,15 @@ private T requestInternal(String url, String method throw new AssertionError("No mock request body provided: " + requestIdentifier); } - InputStream requestInputStream = this.getClass().getClassLoader().getResourceAsStream(dataMock.getRequestFile()); + final InputStream requestInputStream = this.getClass().getClassLoader().getResourceAsStream(dataMock.getRequestFile()); if (requestInputStream == null) { throw new AssertionError(String.format("Failed to load request mock payload %s for request %s", dataMock.getRequestFile(), requestIdentifier)); } - String requestPayloadMock = new BufferedReader(new InputStreamReader(requestInputStream)).lines().collect(Collectors.joining("\n")); + final String requestPayloadMock = new BufferedReader(new InputStreamReader(requestInputStream)).lines().collect(Collectors.joining("\n")); - boolean sameRequests = Mapper.get().readTree(requestPayloadMock).equals(Mapper.get().readTree(requestBody.toJson())); + final boolean sameRequests = Mapper.get().readTree(requestPayloadMock).equals(Mapper.get().readTree(requestBody.toJson())); if (!sameRequests && i == dataMocks.size() - 1) { throw new AssertionError("No match for request payload " + requestIdentifier); @@ -130,11 +130,11 @@ private T requestInternal(String url, String method throw new AssertionError("No mock response body provided: " + requestIdentifier); } - InputStream responseInputStream = this.getClass().getClassLoader().getResourceAsStream(dataMock.getResponseFile()); + final InputStream responseInputStream = this.getClass().getClassLoader().getResourceAsStream(dataMock.getResponseFile()); if (responseInputStream == null) { throw new AssertionError("Failed to load response mock payload " + dataMock.getResponseFile() + " for request" + requestIdentifier); } - String responsePayloadMock = new BufferedReader(new InputStreamReader(responseInputStream)).lines().collect(Collectors.joining("\n")); + final String responsePayloadMock = new BufferedReader(new InputStreamReader(responseInputStream)).lines().collect(Collectors.joining("\n")); if (responseClassType != null) { if (String.class.equals(responseClassType)) { @@ -147,7 +147,7 @@ private T requestInternal(String url, String method throw new IllegalArgumentException("Both responseType and typeReference are null"); } } - } catch (Exception e) { + } catch (final Exception e) { throw new AssertionError("Failed to execute mocked request", e); } return null;