From f241f0e099750242b71f4de9c05767c0c14f68d2 Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Thu, 28 May 2026 15:53:02 +0200 Subject: [PATCH 1/6] NumberLookup Api V2 implementation --- client/resources/config-default.properties | 2 + .../src/main/com/sinch/sdk/SinchClient.java | 49 ++++ .../number_lookup/NumberLookupService.java | 13 + .../adapters/NumberLookupService.java | 43 +++ .../api/v2/NumberLookupService.java | 13 + .../api/v2/adapters/NumberLookupService.java | 103 +++++++ .../com/sinch/sdk/models/Configuration.java | 50 +++- .../sinch/sdk/models/NumberLookupContext.java | 93 +++++++ .../java/com/sinch/sdk/SinchClientTest.java | 8 + .../adapters/CredentialsValidationHelper.java | 153 +++++++++++ .../v2/adapters/NumberLookupServiceTest.java | 16 ++ .../adapters/NumberLookupV2ServiceTest.java | 173 ++++++++++++ .../test/java/com/sinch/sdk/e2e/Config.java | 5 + .../number_lookup/v2/LookupsSteps.java | 125 +++++++++ .../number_lookup/v2/NumberLookupIT.java | 18 ++ .../api/v2/NumberLookupV2Service.java | 28 ++ .../adapters/NumberLookupV2ServiceImpl.java | 118 ++++++++ .../models/v2/errors/LookupError.java | 102 +++++++ .../models/v2/errors/LookupErrorImpl.java | 174 ++++++++++++ .../models/v2/errors/ProblemDetails.java | 102 +++++++ .../models/v2/errors/ProblemDetailsImpl.java | 174 ++++++++++++ .../models/v2/request/LookupFeatureType.java | 44 +++ .../v2/request/NumberLookupRequest.java | 89 ++++++ .../v2/request/NumberLookupRequestImpl.java | 148 ++++++++++ .../models/v2/request/RndFeatureOptions.java | 55 ++++ .../v2/request/RndFeatureOptionsImpl.java | 91 ++++++ .../models/v2/response/LineResponse.java | 156 +++++++++++ .../models/v2/response/LineResponseImpl.java | 259 ++++++++++++++++++ .../models/v2/response/LineType.java | 50 ++++ .../v2/response/NumberLookupResponse.java | 150 ++++++++++ .../v2/response/NumberLookupResponseImpl.java | 256 +++++++++++++++++ .../models/v2/response/RndResponse.java | 71 +++++ .../models/v2/response/RndResponseImpl.java | 119 ++++++++ .../models/v2/response/SimSwapResponse.java | 87 ++++++ .../v2/response/SimSwapResponseImpl.java | 148 ++++++++++ .../models/v2/response/SwapPeriodType.java | 63 +++++ .../v2/response/VoIPDetectionResponse.java | 71 +++++ .../response/VoIPDetectionResponseImpl.java | 120 ++++++++ .../v2/response/VoIPProbabilityType.java | 44 +++ .../models/v2/errors/LookupErrorDtoTest.java | 51 ++++ .../v2/errors/ProblemDetailsDtoTest.java | 40 +++ .../request/NumberLookupRequestDtoTest.java | 122 +++++++++ .../v2/request/RndFeatureOptionsDtoTest.java | 36 +++ .../v2/response/LineResponseDtoTest.java | 55 ++++ .../response/NumberLookupResponseDtoTest.java | 66 +++++ .../v2/response/RndResponseDtoTest.java | 45 +++ .../v2/response/SimSwapResponseDtoTest.java | 64 +++++ .../VoIPDetectionResponseDtoTest.java | 49 ++++ .../v2/errors/LookupErrorDto.json | 6 + .../v2/errors/LookupErrorEmptyDto.json | 1 + .../v2/errors/ProblemDetailsDto.json | 6 + .../NumberLookupRequestAllFeaturesDto.json | 9 + .../NumberLookupRequestMinimalDto.json | 3 + .../NumberLookupRequestWithFeaturesDto.json | 8 + .../NumberLookupRequestWithRndOptionsDto.json | 9 + .../v2/request/RndFeatureOptionsDto.json | 3 + .../v2/response/LineResponseDto.json | 8 + .../v2/response/LineResponseEmptyDto.json | 1 + .../response/NumberLookupResponseFullDto.json | 23 ++ .../NumberLookupResponseMinimalDto.json | 5 + .../v2/response/RndResponseDto.json | 3 + .../v2/response/RndResponseEmptyDto.json | 1 + .../v2/response/SimSwapResponseDto.json | 4 + .../response/SimSwapResponseWithErrorDto.json | 7 + .../v2/response/VoIPDetectionResponseDto.json | 3 + .../VoIPDetectionResponseEmptyDto.json | 1 + pom.xml | 4 + 67 files changed, 4214 insertions(+), 2 deletions(-) create mode 100644 client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java create mode 100644 client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java create mode 100644 client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java create mode 100644 client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java create mode 100644 client/src/main/com/sinch/sdk/models/NumberLookupContext.java create mode 100644 client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java create mode 100644 client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java create mode 100644 client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java create mode 100644 client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java create mode 100644 client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java create mode 100644 openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java create mode 100644 openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json create mode 100644 openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json diff --git a/client/resources/config-default.properties b/client/resources/config-default.properties index 0009c6269..102be6245 100644 --- a/client/resources/config-default.properties +++ b/client/resources/config-default.properties @@ -21,3 +21,5 @@ voice-server-south-east-asia2=https://calling-apse2.api.sinch.com conversation-region= conversation-server=https://%s.conversation.api.sinch.com template-management-conversation-server=https://%s.template.api.sinch.com + +number-lookup-server=https://lookup.api.sinch.com diff --git a/client/src/main/com/sinch/sdk/SinchClient.java b/client/src/main/com/sinch/sdk/SinchClient.java index eee79badf..59def7560 100644 --- a/client/src/main/com/sinch/sdk/SinchClient.java +++ b/client/src/main/com/sinch/sdk/SinchClient.java @@ -2,6 +2,7 @@ import com.sinch.sdk.core.utils.StringUtil; import com.sinch.sdk.domains.conversation.ConversationService; +import com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService; import com.sinch.sdk.domains.numbers.NumbersService; import com.sinch.sdk.domains.sms.SMSService; import com.sinch.sdk.domains.verification.VerificationService; @@ -10,6 +11,7 @@ import com.sinch.sdk.models.Configuration; import com.sinch.sdk.models.ConversationContext; import com.sinch.sdk.models.ConversationRegion; +import com.sinch.sdk.models.NumberLookupContext; import com.sinch.sdk.models.NumbersContext; import com.sinch.sdk.models.SMSRegion; import com.sinch.sdk.models.SmsContext; @@ -50,6 +52,8 @@ public class SinchClient { private static final String CONVERSATION_TEMPLATE_SERVER_KEY = "template-management-conversation-server"; + private static final String NUMBER_LOOKUP_SERVER_KEY = "number-lookup-server"; + // sinch-sdk/{sdk_version} ({language}/{language_version}; {implementation_type}; // {auxiliary_flag}) private static final String SDK_USER_AGENT_HEADER = "User-Agent"; @@ -63,6 +67,7 @@ public class SinchClient { private volatile VerificationService verification; private volatile VoiceService voice; private volatile ConversationService conversation; + private volatile NumberLookupService numberLookup; private volatile HttpClientApache httpClient; /** @@ -88,6 +93,7 @@ public SinchClient(Configuration configuration) { handleDefaultVerificationSettings(configurationGuard, props, builder); handleDefaultVoiceSettings(configurationGuard, props, builder); handleDefaultConversationSettings(configurationGuard, props, builder); + handleDefaultNumberLookupSettings(configurationGuard, props, builder); Configuration newConfiguration = builder.build(); checkConfiguration(newConfiguration); @@ -228,6 +234,23 @@ private void handleDefaultConversationSettings( builder.setConversationContext(contextBuilder.build()); } + private void handleDefaultNumberLookupSettings( + Configuration configuration, Properties props, Configuration.Builder builder) { + + String url = + configuration + .getNumberLookupContext() + .map(NumberLookupContext::getNumberLookupUrl) + .orElse(null); + + if (null == url && props.containsKey(NUMBER_LOOKUP_SERVER_KEY)) { + builder.setNumberLookupContext( + NumberLookupContext.builder() + .setNumberLookupUrl(props.getProperty(NUMBER_LOOKUP_SERVER_KEY)) + .build()); + } + } + /** * Get current configuration * @@ -333,6 +356,23 @@ public ConversationService conversation() { return conversation; } + /** + * Get Number Lookup domain service + * + * @return Return instance onto Number Lookup API service + * @since 2.1 + */ + public NumberLookupService numberLookup() { + if (null == numberLookup) { + synchronized (this) { + if (null == numberLookup) { + numberLookup = numberLookupInit(); + } + } + } + return numberLookup; + } + private void checkConfiguration(Configuration configuration) throws NullPointerException { Objects.requireNonNull(configuration.getOAuthUrl(), "'oauthUrl' cannot be null"); } @@ -384,6 +424,14 @@ private ConversationService conversationInit() { this::getHttpClient); } + private NumberLookupService numberLookupInit() { + return new com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService( + getConfiguration().getUnifiedCredentials().orElse(null), + getConfiguration().getNumberLookupContext().orElse(null), + getConfiguration().getOAuthServer(), + this::getHttpClient); + } + private Properties handlePropertiesFile(String fileName) { Properties prop = new Properties(); @@ -466,6 +514,7 @@ public void close() { verification = null; voice = null; conversation = null; + numberLookup = null; if (local != null) { try { local.close(); diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java new file mode 100644 index 000000000..2e4ce7cd6 --- /dev/null +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java @@ -0,0 +1,13 @@ +package com.sinch.sdk.domains.number_lookup; + +/** Number Lookup Service */ +public interface NumberLookupService { + + /** + * Number Lookup Service V2 + * + * @return V2 service instance for project + * @since 2.1 + */ + com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2(); +} diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java new file mode 100644 index 000000000..64e251b42 --- /dev/null +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java @@ -0,0 +1,43 @@ +package com.sinch.sdk.domains.number_lookup.adapters; + +import com.sinch.sdk.core.http.HttpClient; +import com.sinch.sdk.core.models.ServerConfiguration; +import com.sinch.sdk.models.NumberLookupContext; +import com.sinch.sdk.models.UnifiedCredentials; +import java.util.function.Supplier; + +public class NumberLookupService + implements com.sinch.sdk.domains.number_lookup.NumberLookupService { + + private final UnifiedCredentials credentials; + private final NumberLookupContext context; + private final ServerConfiguration oAuthServer; + private final Supplier httpClientSupplier; + + private volatile com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2; + + public NumberLookupService( + UnifiedCredentials credentials, + NumberLookupContext context, + ServerConfiguration oAuthServer, + Supplier httpClientSupplier) { + this.credentials = credentials; + this.context = context; + this.oAuthServer = oAuthServer; + this.httpClientSupplier = httpClientSupplier; + } + + @Override + public com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2() { + if (null == this.v2) { + synchronized (this) { + if (null == this.v2) { + this.v2 = + new com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService( + credentials, context, oAuthServer, httpClientSupplier); + } + } + } + return this.v2; + } +} diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java new file mode 100644 index 000000000..bdf2b934a --- /dev/null +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java @@ -0,0 +1,13 @@ +package com.sinch.sdk.domains.number_lookup.api.v2; + +/** Number Lookup Service V2 */ +public interface NumberLookupService { + + /** + * Number Lookup Service instance + * + * @return service instance for project + * @since 2.1 + */ + NumberLookupV2Service numberLookup(); +} diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java new file mode 100644 index 000000000..5e2ca92a9 --- /dev/null +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java @@ -0,0 +1,103 @@ +package com.sinch.sdk.domains.number_lookup.api.v2.adapters; + +import com.sinch.sdk.auth.adapters.OAuthManager; +import com.sinch.sdk.core.http.AuthManager; +import com.sinch.sdk.core.http.HttpClient; +import com.sinch.sdk.core.http.HttpMapper; +import com.sinch.sdk.core.models.ServerConfiguration; +import com.sinch.sdk.core.utils.StringUtil; +import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.models.NumberLookupContext; +import com.sinch.sdk.models.UnifiedCredentials; +import java.util.AbstractMap; +import java.util.Map; +import java.util.Objects; +import java.util.function.Supplier; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +public class NumberLookupService + implements com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService { + + private static final Logger LOGGER = Logger.getLogger(NumberLookupService.class.getName()); + private static final String SECURITY_SCHEME_KEYWORD_NUMBER_LOOKUP = "OAuth2"; + + private final UnifiedCredentials credentials; + private final NumberLookupContext context; + private final ServerConfiguration oAuthServer; + private final Supplier httpClientSupplier; + + private volatile String uriUUID; + private volatile Map authManagers; + + private volatile NumberLookupV2Service numberLookup; + + public NumberLookupService( + UnifiedCredentials credentials, + NumberLookupContext context, + ServerConfiguration oAuthServer, + Supplier httpClientSupplier) { + this.credentials = credentials; + this.context = context; + this.oAuthServer = oAuthServer; + this.httpClientSupplier = httpClientSupplier; + } + + @Override + public NumberLookupV2Service numberLookup() { + if (null == this.numberLookup) { + synchronized (this) { + if (null == this.numberLookup) { + instanceLazyInit(); + this.numberLookup = + new NumberLookupV2ServiceImpl( + httpClientSupplier.get(), + context.getNumberLookupServer(), + authManagers, + HttpMapper.getInstance(), + uriUUID); + } + } + } + return this.numberLookup; + } + + private void instanceLazyInit() { + if (null != this.authManagers) { + return; + } + synchronized (this) { + if (null == this.authManagers) { + Objects.requireNonNull( + credentials, "Number Lookup service requires unified credentials to be defined"); + Objects.requireNonNull(context, "Number Lookup service requires context to be defined"); + StringUtil.requireNonEmpty( + credentials.getKeyId(), "Number Lookup service requires 'keyId' to be defined"); + StringUtil.requireNonEmpty( + credentials.getKeySecret(), "Number Lookup service requires 'keySecret' to be defined"); + StringUtil.requireNonEmpty( + credentials.getProjectId(), "Number Lookup service requires 'projectId' to be defined"); + StringUtil.requireNonEmpty( + context.getNumberLookupUrl(), + "Number Lookup service requires 'numberLookupUrl' to be defined"); + + LOGGER.fine( + "Activate Number Lookup API with server='" + + context.getNumberLookupServer().getUrl() + + "'"); + + AuthManager authManager = + new OAuthManager( + credentials, oAuthServer, HttpMapper.getInstance(), httpClientSupplier); + + uriUUID = credentials.getProjectId(); + authManagers = + Stream.of( + new AbstractMap.SimpleEntry<>( + SECURITY_SCHEME_KEYWORD_NUMBER_LOOKUP, authManager)) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + } + } + } +} diff --git a/client/src/main/com/sinch/sdk/models/Configuration.java b/client/src/main/com/sinch/sdk/models/Configuration.java index 398a448d8..962f03190 100644 --- a/client/src/main/com/sinch/sdk/models/Configuration.java +++ b/client/src/main/com/sinch/sdk/models/Configuration.java @@ -15,6 +15,7 @@ public class Configuration { private final VerificationContext verificationContext; private final VoiceContext voiceContext; private final ConversationContext conversationContext; + private final NumberLookupContext numberLookupContext; private Configuration( UnifiedCredentials unifiedCredentials, @@ -25,7 +26,8 @@ private Configuration( SmsContext smsContext, VerificationContext verificationContext, VoiceContext voiceContext, - ConversationContext conversationContext) { + ConversationContext conversationContext, + NumberLookupContext numberLookupContext) { this.unifiedCredentials = unifiedCredentials; this.applicationCredentials = applicationCredentials; this.smsServicePlanCredentials = smsServicePlanCredentials; @@ -35,6 +37,7 @@ private Configuration( this.voiceContext = voiceContext; this.verificationContext = verificationContext; this.conversationContext = conversationContext; + this.numberLookupContext = numberLookupContext; } @Override @@ -53,6 +56,8 @@ public String toString() { + voiceContext + ", conversationContext=" + conversationContext + + ", numberLookupContext=" + + numberLookupContext + "}"; } @@ -160,6 +165,16 @@ public Optional getConversationContext() { return Optional.ofNullable(conversationContext); } + /** + * Get Number Lookup domain related execution context + * + * @return Current Number Lookup context + * @since 2.1 + */ + public Optional getNumberLookupContext() { + return Optional.ofNullable(numberLookupContext); + } + /** * Getting Builder * @@ -197,6 +212,7 @@ public static class Builder { VerificationContext.Builder verificationContext; VoiceContext.Builder voiceContext; ConversationContext.Builder conversationContext; + NumberLookupContext.Builder numberLookupContext; protected Builder() {} @@ -228,6 +244,8 @@ protected Builder(Configuration configuration) { this.voiceContext = configuration.getVoiceContext().map(VoiceContext::builder).orElse(null); this.conversationContext = configuration.getConversationContext().map(ConversationContext::builder).orElse(null); + this.numberLookupContext = + configuration.getNumberLookupContext().map(NumberLookupContext::builder).orElse(null); } /** @@ -486,6 +504,33 @@ public Builder setConversationContext(ConversationContext context) { return this; } + /** + * Set Number Lookup API URL + * + * @param numberLookupUrl Number Lookup API URL + * @return Current builder + * @since 2.1 + */ + public Builder setNumberLookupUrl(String numberLookupUrl) { + if (null == this.numberLookupContext) { + this.numberLookupContext = NumberLookupContext.builder(); + } + this.numberLookupContext.setNumberLookupUrl(numberLookupUrl); + return this; + } + + /** + * Set Number Lookup related context + * + * @param context {@link #getNumberLookupContext() getter} + * @return Current builder + * @since 2.1 + */ + public Builder setNumberLookupContext(NumberLookupContext context) { + this.numberLookupContext = null != context ? NumberLookupContext.builder(context) : null; + return this; + } + /** * Build a Configuration instance from builder current state * @@ -503,7 +548,8 @@ public Configuration build() { null != smsContext ? smsContext.build() : null, null != verificationContext ? verificationContext.build() : null, null != voiceContext ? voiceContext.build() : null, - null != conversationContext ? conversationContext.build() : null); + null != conversationContext ? conversationContext.build() : null, + null != numberLookupContext ? numberLookupContext.build() : null); } } } diff --git a/client/src/main/com/sinch/sdk/models/NumberLookupContext.java b/client/src/main/com/sinch/sdk/models/NumberLookupContext.java new file mode 100644 index 000000000..8813767b1 --- /dev/null +++ b/client/src/main/com/sinch/sdk/models/NumberLookupContext.java @@ -0,0 +1,93 @@ +package com.sinch.sdk.models; + +import com.sinch.sdk.core.models.ServerConfiguration; + +/** Execution context related to Number Lookup domain */ +public class NumberLookupContext { + + private final String numberLookupUrl; + + private NumberLookupContext(String numberLookupUrl) { + this.numberLookupUrl = numberLookupUrl; + } + + /** + * Number Lookup Server Configuration + * + * @return Number Lookup Server configuration to be used + * @since 2.1 + */ + public ServerConfiguration getNumberLookupServer() { + return new ServerConfiguration(getNumberLookupUrl()); + } + + /** + * Number Lookup URL + * + * @return Number Lookup Server URL + * @since 2.1 + */ + public String getNumberLookupUrl() { + return numberLookupUrl; + } + + /** + * Getting Builder + * + * @return New Builder instance + * @since 2.1 + */ + public static Builder builder() { + return new Builder(); + } + + /** + * Getting Builder + * + * @param context Source context to fill initial builder state + * @return New Builder instance + * @since 2.1 + */ + public static Builder builder(NumberLookupContext context) { + return new Builder(context); + } + + /** + * Dedicated Builder + * + * @since 2.1 + */ + public static class Builder { + + String numberLookupUrl; + + protected Builder() {} + + protected Builder(NumberLookupContext context) { + this.numberLookupUrl = null != context ? context.getNumberLookupUrl() : null; + } + + /** + * Set Number Lookup API URL + * + * @param numberLookupUrl Number Lookup API URL + * @return Current builder + * @since 2.1 + */ + public Builder setNumberLookupUrl(String numberLookupUrl) { + this.numberLookupUrl = numberLookupUrl; + return this; + } + + /** + * Create instance + * + * @return The instance build with current builder values + * @since 2.1 + */ + public NumberLookupContext build() { + + return new NumberLookupContext(numberLookupUrl); + } + } +} diff --git a/client/src/test/java/com/sinch/sdk/SinchClientTest.java b/client/src/test/java/com/sinch/sdk/SinchClientTest.java index 25de15ecf..5ec89d15a 100644 --- a/client/src/test/java/com/sinch/sdk/SinchClientTest.java +++ b/client/src/test/java/com/sinch/sdk/SinchClientTest.java @@ -142,6 +142,14 @@ void defaultVerificationUrlAvailable() { assertNotNull(client.getConfiguration().getVerificationContext().get().getVerificationUrl()); } + @Test + void defaultNumberLookupUrlAvailable() { + Configuration configuration = + Configuration.builder().setKeyId("foo").setKeySecret("foo").setProjectId("foo").build(); + SinchClient client = new SinchClient(configuration); + assertNotNull(client.getConfiguration().getNumberLookupContext().get().getNumberLookupUrl()); + } + @Test void defaultVoiceRegion() { Configuration configuration = Configuration.builder().build(); diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java new file mode 100644 index 000000000..974bcbcba --- /dev/null +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java @@ -0,0 +1,153 @@ +package com.sinch.sdk.domains.number_lookup.api.v2.adapters; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.sinch.sdk.core.http.HttpClient; +import com.sinch.sdk.core.models.ServerConfiguration; +import com.sinch.sdk.models.NumberLookupContext; +import com.sinch.sdk.models.UnifiedCredentials; +import java.util.function.Consumer; +import java.util.function.Supplier; + +class CredentialsValidationHelper { + + static ServerConfiguration oAuthServer = new ServerConfiguration("https://oauth.foo.url"); + + static void checkCredentials( + Supplier httpClientSupplier, Consumer service) { + doNotAcceptNullCredentials(httpClientSupplier, service); + doNotAcceptNullKey(httpClientSupplier, service); + doNotAcceptNullKeySecret(httpClientSupplier, service); + doNotAcceptNullProject(httpClientSupplier, service); + doNotAcceptNullContext(httpClientSupplier, service); + doNotAcceptNullNumberLookupUrl(httpClientSupplier, service); + initPassed(httpClientSupplier, service); + } + + static void doNotAcceptNullCredentials( + Supplier httpClientSupplier, Consumer service) { + NumberLookupContext context = + NumberLookupContext.builder().setNumberLookupUrl("foo url").build(); + + Exception exception = + assertThrows( + NullPointerException.class, + () -> + service.accept( + new NumberLookupService(null, context, oAuthServer, httpClientSupplier))); + assertTrue( + exception + .getMessage() + .contains("Number Lookup service requires unified credentials to be defined")); + } + + static void doNotAcceptNullKey( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder().setKeyId(null).setKeySecret("foo").setProjectId("foo").build(); + NumberLookupContext context = + NumberLookupContext.builder().setNumberLookupUrl("foo url").build(); + + Exception exception = + assertThrows( + IllegalArgumentException.class, + () -> + service.accept( + new NumberLookupService( + credentials, context, oAuthServer, httpClientSupplier))); + assertTrue(exception.getMessage().contains("keyId")); + } + + static void doNotAcceptNullKeySecret( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder().setKeyId("foo").setKeySecret(null).setProjectId("foo").build(); + NumberLookupContext context = + NumberLookupContext.builder().setNumberLookupUrl("foo url").build(); + + Exception exception = + assertThrows( + IllegalArgumentException.class, + () -> + service.accept( + new NumberLookupService( + credentials, context, oAuthServer, httpClientSupplier))); + assertTrue(exception.getMessage().contains("keySecret")); + } + + static void doNotAcceptNullProject( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder().setKeyId("foo").setKeySecret("foo").setProjectId(null).build(); + NumberLookupContext context = + NumberLookupContext.builder().setNumberLookupUrl("foo url").build(); + + Exception exception = + assertThrows( + IllegalArgumentException.class, + () -> + service.accept( + new NumberLookupService( + credentials, context, oAuthServer, httpClientSupplier))); + assertTrue(exception.getMessage().contains("projectId")); + } + + static void doNotAcceptNullContext( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder() + .setKeyId("foo") + .setKeySecret("foo") + .setProjectId("foo") + .build(); + + Exception exception = + assertThrows( + NullPointerException.class, + () -> + service.accept( + new NumberLookupService(credentials, null, oAuthServer, httpClientSupplier))); + assertTrue( + exception.getMessage().contains("Number Lookup service requires context to be defined")); + } + + static void doNotAcceptNullNumberLookupUrl( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder() + .setKeyId("foo") + .setKeySecret("foo") + .setProjectId("foo") + .build(); + NumberLookupContext context = NumberLookupContext.builder().build(); + + Exception exception = + assertThrows( + IllegalArgumentException.class, + () -> + service.accept( + new NumberLookupService( + credentials, context, oAuthServer, httpClientSupplier))); + assertTrue(exception.getMessage().contains("numberLookupUrl")); + } + + static void initPassed( + Supplier httpClientSupplier, Consumer service) { + UnifiedCredentials credentials = + UnifiedCredentials.builder() + .setKeyId("foo") + .setKeySecret("foo") + .setProjectId("foo") + .build(); + NumberLookupContext context = + NumberLookupContext.builder().setNumberLookupUrl("foo url").build(); + + assertDoesNotThrow( + () -> + service.accept( + new NumberLookupService(credentials, context, oAuthServer, httpClientSupplier)), + "Init passed"); + } +} diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java new file mode 100644 index 000000000..45fa0c164 --- /dev/null +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java @@ -0,0 +1,16 @@ +package com.sinch.sdk.domains.number_lookup.api.v2.adapters; + +import com.sinch.sdk.core.http.HttpClient; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; + +class NumberLookupServiceTest { + + @Mock HttpClient httpClient; + + @Test + void checkCredentialsNumberLookup() { + CredentialsValidationHelper.checkCredentials( + () -> httpClient, NumberLookupService::numberLookup); + } +} diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java new file mode 100644 index 000000000..ef371a8b9 --- /dev/null +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java @@ -0,0 +1,173 @@ +package com.sinch.sdk.domains.number_lookup.api.v2.adapters; + +import static org.mockito.ArgumentMatchers.argThat; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.when; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import com.sinch.sdk.core.exceptions.ApiException; +import com.sinch.sdk.core.http.AuthManager; +import com.sinch.sdk.core.http.HttpClient; +import com.sinch.sdk.core.http.HttpContentType; +import com.sinch.sdk.core.http.HttpMapper; +import com.sinch.sdk.core.http.HttpMethod; +import com.sinch.sdk.core.http.HttpRequest; +import com.sinch.sdk.core.http.HttpRequestTest.HttpRequestMatcher; +import com.sinch.sdk.core.http.HttpResponse; +import com.sinch.sdk.core.http.URLPathUtils; +import com.sinch.sdk.core.models.ServerConfiguration; +import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequestDtoTest; +import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponseDtoTest; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.Mock; + +@TestWithResources +public class NumberLookupV2ServiceTest extends BaseTest { + + @Mock HttpClient httpClient; + @Mock ServerConfiguration serverConfiguration; + @Mock Map authManagers; + + static final String PROJECT_ID = "test_project_id"; + static final Collection AUTH_NAMES = Arrays.asList("Basic", "OAuth2"); + + NumberLookupV2Service service; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json") + String jsonNumberLookupRequestMinimalDto; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json") + String jsonNumberLookupRequestWithFeaturesDto; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") + String jsonNumberLookupRequestWithRndOptionsDto; + + @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json") + String jsonNumberLookupResponseMinimalDto; + + @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json") + String jsonNumberLookupResponseFullDto; + + @BeforeEach + public void initMocks() { + service = + new NumberLookupV2ServiceImpl( + httpClient, serverConfiguration, authManagers, HttpMapper.getInstance(), PROJECT_ID); + } + + @Test + void numberLookupWithRequiredParameters() throws ApiException { + + HttpRequest httpRequest = + new HttpRequest( + "/v2/projects/" + URLPathUtils.encodePathSegment(PROJECT_ID) + "/lookups", + HttpMethod.POST, + Collections.emptyList(), + jsonNumberLookupRequestMinimalDto, + Collections.emptyMap(), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + AUTH_NAMES); + HttpResponse httpResponse = + new HttpResponse( + 200, null, Collections.emptyMap(), jsonNumberLookupResponseMinimalDto.getBytes()); + + when(httpClient.invokeAPI( + eq(serverConfiguration), + eq(authManagers), + argThat(new HttpRequestMatcher(httpRequest)))) + .thenReturn(httpResponse); + + NumberLookupResponse response = + service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestMinimalDto); + + TestHelpers.recursiveEquals( + response, NumberLookupResponseDtoTest.numberLookupResponseMinimalDto); + } + + @Test + void numberLookupWithFeatures() throws ApiException { + + HttpRequest httpRequest = + new HttpRequest( + "/v2/projects/" + URLPathUtils.encodePathSegment(PROJECT_ID) + "/lookups", + HttpMethod.POST, + Collections.emptyList(), + jsonNumberLookupRequestWithFeaturesDto, + Collections.emptyMap(), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + AUTH_NAMES); + HttpResponse httpResponse = + new HttpResponse( + 200, null, Collections.emptyMap(), jsonNumberLookupResponseFullDto.getBytes()); + + when(httpClient.invokeAPI( + eq(serverConfiguration), + eq(authManagers), + argThat(new HttpRequestMatcher(httpRequest)))) + .thenReturn(httpResponse); + + NumberLookupResponse response = + service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestWithFeaturesDto); + + TestHelpers.recursiveEquals(response, NumberLookupResponseDtoTest.numberLookupResponseFullDto); + } + + @Test + void numberLookupWithRndOptions() throws ApiException { + + HttpRequest httpRequest = + new HttpRequest( + "/v2/projects/" + URLPathUtils.encodePathSegment(PROJECT_ID) + "/lookups", + HttpMethod.POST, + Collections.emptyList(), + jsonNumberLookupRequestWithRndOptionsDto, + Collections.emptyMap(), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + Collections.singletonList(HttpContentType.APPLICATION_JSON), + AUTH_NAMES); + HttpResponse httpResponse = + new HttpResponse( + 200, null, Collections.emptyMap(), jsonNumberLookupResponseFullDto.getBytes()); + + when(httpClient.invokeAPI( + eq(serverConfiguration), + eq(authManagers), + argThat(new HttpRequestMatcher(httpRequest)))) + .thenReturn(httpResponse); + + NumberLookupResponse response = + service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestWithRndOptionsDto); + + TestHelpers.recursiveEquals(response, NumberLookupResponseDtoTest.numberLookupResponseFullDto); + } + + @Test + void numberLookupMissingProjectIdThrows() { + + NumberLookupV2Service serviceWithoutProjectId = + new NumberLookupV2ServiceImpl( + httpClient, serverConfiguration, authManagers, HttpMapper.getInstance(), null); + + ApiException thrown = + Assertions.assertThrows( + ApiException.class, + () -> + serviceWithoutProjectId.numberLookup( + NumberLookupRequestDtoTest.numberLookupRequestMinimalDto)); + + Assertions.assertEquals(400, thrown.getCode()); + } +} diff --git a/client/src/test/java/com/sinch/sdk/e2e/Config.java b/client/src/test/java/com/sinch/sdk/e2e/Config.java index 830149340..badb5846a 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/Config.java +++ b/client/src/test/java/com/sinch/sdk/e2e/Config.java @@ -4,6 +4,7 @@ import com.sinch.sdk.models.Configuration; import com.sinch.sdk.models.ConversationContext; import com.sinch.sdk.models.ConversationRegion; +import com.sinch.sdk.models.NumberLookupContext; import com.sinch.sdk.models.NumbersContext; import com.sinch.sdk.models.SMSRegion; import com.sinch.sdk.models.SmsContext; @@ -34,6 +35,8 @@ public class Config { public static final String VERIFICATION_HOST_NAME = "http://localhost:3018"; + public static final String NUMBER_LOOKUP_HOST_NAME = "http://localhost:3022"; + private final SinchClient client; private final SinchClient clientServicePlanId; @@ -63,6 +66,8 @@ private Config() { SmsContext.builder().setSmsUrl(SMS_HOST_NAME).setSmsRegion(SMSRegion.EU).build()) .setVerificationContext( VerificationContext.builder().setVerificationUrl(VERIFICATION_HOST_NAME).build()) + .setNumberLookupContext( + NumberLookupContext.builder().setNumberLookupUrl(NUMBER_LOOKUP_HOST_NAME).build()) .build(); client = new SinchClient(configuration); diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java new file mode 100644 index 000000000..7ccd0784c --- /dev/null +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java @@ -0,0 +1,125 @@ +package com.sinch.sdk.e2e.domains.number_lookup.v2; + +import com.sinch.sdk.core.TestHelpers; +import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.number_lookup.models.v2.request.LookupFeatureType; +import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.number_lookup.models.v2.request.RndFeatureOptions; +import com.sinch.sdk.domains.number_lookup.models.v2.response.LineResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.LineType; +import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.RndResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.SimSwapResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.VoIPDetectionResponse; +import com.sinch.sdk.e2e.Config; +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; +import java.time.Instant; +import java.util.Arrays; +import org.junit.jupiter.api.Assertions; + +public class LookupsSteps { + + NumberLookupV2Service service; + NumberLookupResponse lookupNoFeaturesResponse; + NumberLookupResponse lookupAllFeaturesResponse; + + @Given("the Number Lookup service is available") + public void serviceAvailable() { + service = Config.getSinchClient().numberLookup().numberLookup(); + Assertions.assertNotNull(service, "Number Lookup service is not available"); + } + + @When("I send a request to lookup for a phone number with no additional features") + public void lookupNoFeatures() { + NumberLookupRequest request = NumberLookupRequest.builder().setNumber("+12016666666").build(); + lookupNoFeaturesResponse = service.numberLookup(request); + } + + @Then("the response contains the details of the phone number lookup with line details only") + public void lookupNoFeaturesResult() { + + NumberLookupResponse expected = + NumberLookupResponse.builder() + .setNumber("+12016666666") + .setCountryCode("US") + .setTraceId("84c1fd4063c38d9f3900d06e56542d48") + .setLine( + LineResponse.builder() + .setCarrier("T-Mobile USA") + .setType(LineType.MOBILE) + .setMobileCountryCode("310") + .setMobileNetworkCode("260") + .build()) + .build(); + + TestHelpers.recursiveEquals(lookupNoFeaturesResponse, expected); + } + + @When("I send a request to lookup for a phone number with all the features") + public void lookupAllFeatures() { + NumberLookupRequest request = + NumberLookupRequest.builder() + .setNumber("+12015555555") + .setFeatures( + Arrays.asList( + LookupFeatureType.LINE_TYPE, + LookupFeatureType.RND, + LookupFeatureType.SIM_SWAP, + LookupFeatureType.VO_IP_DETECTION)) + .setRndFeatureOptions( + RndFeatureOptions.builder() + .setContactDate(Instant.parse("2025-09-09T00:00:00Z")) + .build()) + .build(); + lookupAllFeaturesResponse = service.numberLookup(request); + } + + @Then("the response contains the details of the phone number lookup with all the features") + public void lookupAllFeaturesResult() { + + LookupError simSwapError = + LookupError.builder() + .setStatus(100) + .setTitle("Feature Disabled") + .setDetail("SimSwap feature is currently disabled.") + .build(); + + LookupError voIPDetectionError = + LookupError.builder() + .setStatus(100) + .setTitle("Feature Disabled") + .setDetail("VoIPDetection feature is currently disabled.") + .build(); + + LookupError rndError = + LookupError.builder() + .setStatus(100) + .setTitle("Feature Disabled") + .setDetail("RND feature is currently disabled.") + .build(); + + NumberLookupResponse expected = + NumberLookupResponse.builder() + .setNumber("+12015555555") + .setCountryCode("US") + .setTraceId("5c817a6b7351d80a6b1d8007e5c145b8") + .setLine( + LineResponse.builder() + .setCarrier("AT&T") + .setType(LineType.MOBILE) + .setMobileCountryCode("310") + .setMobileNetworkCode("070") + .setPorted(true) + .setPortingDate(Instant.parse("2010-08-07T23:45:49Z")) + .build()) + .setSimSwap(SimSwapResponse.builder().setError(simSwapError).build()) + .setVoIPDetection(VoIPDetectionResponse.builder().setError(voIPDetectionError).build()) + .setRnd(RndResponse.builder().setError(rndError).build()) + .build(); + + TestHelpers.recursiveEquals(lookupAllFeaturesResponse, expected); + } +} diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java new file mode 100644 index 000000000..ac53e38a2 --- /dev/null +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java @@ -0,0 +1,18 @@ +package com.sinch.sdk.e2e.domains.number_lookup.v2; + +import static io.cucumber.junit.platform.engine.Constants.GLUE_PROPERTY_NAME; + +import org.junit.platform.suite.api.ConfigurationParameter; +import org.junit.platform.suite.api.IncludeEngines; +import org.junit.platform.suite.api.SelectClasspathResource; +import org.junit.platform.suite.api.Suite; +import org.junit.platform.suite.api.SuiteDisplayName; + +@Suite +@SuiteDisplayName("Number Lookup V2") +@IncludeEngines("cucumber") +@SelectClasspathResource("features/number-lookup") +@ConfigurationParameter( + key = GLUE_PROPERTY_NAME, + value = "com.sinch.sdk.e2e.domains.number_lookup.v2") +public class NumberLookupIT {} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java new file mode 100644 index 000000000..cc63a9b7a --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java @@ -0,0 +1,28 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.api.v2; + +import com.sinch.sdk.core.exceptions.ApiException; +import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; + +/** NumberLookupV2 Service */ +public interface NumberLookupV2Service { + + /** + * Performs a number lookup. + * + * @param numberLookupRequest (optional) + * @return NumberLookupResponse + * @throws ApiException if fails to make API call + */ + NumberLookupResponse numberLookup(NumberLookupRequest numberLookupRequest) throws ApiException; +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java new file mode 100644 index 000000000..1b4e6ed82 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java @@ -0,0 +1,118 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.api.v2.adapters; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.sinch.sdk.core.exceptions.ApiException; +import com.sinch.sdk.core.exceptions.ApiExceptionBuilder; +import com.sinch.sdk.core.http.AuthManager; +import com.sinch.sdk.core.http.HttpClient; +import com.sinch.sdk.core.http.HttpMapper; +import com.sinch.sdk.core.http.HttpMethod; +import com.sinch.sdk.core.http.HttpRequest; +import com.sinch.sdk.core.http.HttpResponse; +import com.sinch.sdk.core.http.HttpStatus; +import com.sinch.sdk.core.http.URLParameter; +import com.sinch.sdk.core.http.URLPathUtils; +import com.sinch.sdk.core.models.ServerConfiguration; +import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Logger; + +public class NumberLookupV2ServiceImpl + implements com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service { + + private static final Logger LOGGER = Logger.getLogger(NumberLookupV2ServiceImpl.class.getName()); + private final HttpClient httpClient; + private final ServerConfiguration serverConfiguration; + private final Map authManagersByOasSecuritySchemes; + private final HttpMapper mapper; + + private final String projectId; + + public NumberLookupV2ServiceImpl( + HttpClient httpClient, + ServerConfiguration serverConfiguration, + Map authManagersByOasSecuritySchemes, + HttpMapper mapper, + String projectId) { + this.httpClient = httpClient; + this.serverConfiguration = serverConfiguration; + this.authManagersByOasSecuritySchemes = authManagersByOasSecuritySchemes; + this.mapper = mapper; + this.projectId = projectId; + } + + @Override + public NumberLookupResponse numberLookup(NumberLookupRequest numberLookupRequest) + throws ApiException { + + LOGGER.finest("[numberLookup]" + " " + "numberLookupRequest: " + numberLookupRequest); + + HttpRequest httpRequest = numberLookupRequestBuilder(numberLookupRequest); + HttpResponse response = + httpClient.invokeAPI( + this.serverConfiguration, this.authManagersByOasSecuritySchemes, httpRequest); + + if (HttpStatus.isSuccessfulStatus(response.getCode())) { + return mapper.deserialize(response, new TypeReference() {}); + } + // fallback to default errors handling: + // all error cases definition are not required from specs: will try some "hardcoded" content + // parsing + throw ApiExceptionBuilder.build( + response.getMessage(), + response.getCode(), + mapper.deserialize(response, new TypeReference>() {})); + } + + private HttpRequest numberLookupRequestBuilder(NumberLookupRequest numberLookupRequest) + throws ApiException { + // verify the required parameter 'this.projectId' is set + if (this.projectId == null) { + throw new ApiException( + 400, "Missing the required parameter 'this.projectId' when calling numberLookup"); + } + + String localVarPath = + "/v2/projects/{projectId}/lookups" + .replaceAll( + "\\{" + "projectId" + "\\}", + URLPathUtils.encodePathSegment(this.projectId.toString())); + + List localVarQueryParams = new ArrayList<>(); + + Map localVarHeaderParams = new HashMap<>(); + + final Collection localVarAccepts = Arrays.asList("application/json"); + + final Collection localVarContentTypes = Arrays.asList("application/json"); + + final Collection localVarAuthNames = Arrays.asList("Basic", "OAuth2"); + final String serializedBody = mapper.serialize(localVarContentTypes, numberLookupRequest); + + return new HttpRequest( + localVarPath, + HttpMethod.POST, + localVarQueryParams, + serializedBody, + localVarHeaderParams, + localVarAccepts, + localVarContentTypes, + localVarAuthNames); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java new file mode 100644 index 000000000..6f60fa2d4 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java @@ -0,0 +1,102 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** LookupError */ +@JsonDeserialize(builder = LookupErrorImpl.Builder.class) +public interface LookupError { + + /** + * The error status code. + * + * @return status + */ + Integer getStatus(); + + /** + * A short, human-readable summary of the error type. + * + * @return title + */ + String getTitle(); + + /** + * A human-readable explanation specific to this occurrence of the error. + * + * @return detail + */ + String getDetail(); + + /** + * A URI reference that identifies the error type. + * + * @return type + */ + String getType(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new LookupErrorImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param status see getter + * @return Current builder + * @see #getStatus + */ + Builder setStatus(Integer status); + + /** + * see getter + * + * @param title see getter + * @return Current builder + * @see #getTitle + */ + Builder setTitle(String title); + + /** + * see getter + * + * @param detail see getter + * @return Current builder + * @see #getDetail + */ + Builder setDetail(String detail); + + /** + * see getter + * + * @param type see getter + * @return Current builder + * @see #getType + */ + Builder setType(String type); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + LookupError build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java new file mode 100644 index 000000000..e59febb5e --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java @@ -0,0 +1,174 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import java.util.Objects; + +@JsonPropertyOrder({ + LookupErrorImpl.JSON_PROPERTY_STATUS, + LookupErrorImpl.JSON_PROPERTY_TITLE, + LookupErrorImpl.JSON_PROPERTY_DETAIL, + LookupErrorImpl.JSON_PROPERTY_TYPE +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class LookupErrorImpl implements LookupError { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_STATUS = "status"; + + private OptionalValue status; + + public static final String JSON_PROPERTY_TITLE = "title"; + + private OptionalValue title; + + public static final String JSON_PROPERTY_DETAIL = "detail"; + + private OptionalValue detail; + + public static final String JSON_PROPERTY_TYPE = "type"; + + private OptionalValue type; + + public LookupErrorImpl() {} + + protected LookupErrorImpl( + OptionalValue status, + OptionalValue title, + OptionalValue detail, + OptionalValue type) { + this.status = status; + this.title = title; + this.detail = detail; + this.type = type; + } + + @JsonIgnore + public Integer getStatus() { + return status.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue status() { + return status; + } + + @JsonIgnore + public String getTitle() { + return title.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue title() { + return title; + } + + @JsonIgnore + public String getDetail() { + return detail.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_DETAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue detail() { + return detail; + } + + @JsonIgnore + public String getType() { + return type.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue type() { + return type; + } + + /** Return true if this ErrorResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LookupErrorImpl errorResponse = (LookupErrorImpl) o; + return Objects.equals(this.status, errorResponse.status) + && Objects.equals(this.title, errorResponse.title) + && Objects.equals(this.detail, errorResponse.detail) + && Objects.equals(this.type, errorResponse.type); + } + + @Override + public int hashCode() { + return Objects.hash(status, title, detail, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LookupErrorImpl {\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" detail: ").append(toIndentedString(detail)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements LookupError.Builder { + OptionalValue status = OptionalValue.empty(); + OptionalValue title = OptionalValue.empty(); + OptionalValue detail = OptionalValue.empty(); + OptionalValue type = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_STATUS) + public Builder setStatus(Integer status) { + this.status = OptionalValue.of(status); + return this; + } + + @JsonProperty(JSON_PROPERTY_TITLE) + public Builder setTitle(String title) { + this.title = OptionalValue.of(title); + return this; + } + + @JsonProperty(JSON_PROPERTY_DETAIL) + public Builder setDetail(String detail) { + this.detail = OptionalValue.of(detail); + return this; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + public Builder setType(String type) { + this.type = OptionalValue.of(type); + return this; + } + + public LookupError build() { + return new LookupErrorImpl(status, title, detail, type); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java new file mode 100644 index 000000000..3d32db539 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java @@ -0,0 +1,102 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** ProblemDetails */ +@JsonDeserialize(builder = ProblemDetailsImpl.Builder.class) +public interface ProblemDetails { + + /** + * A URI reference that identifies the problem type. + * + * @return type + */ + String getType(); + + /** + * A short, human-readable summary of the problem type. + * + * @return title + */ + String getTitle(); + + /** + * The HTTP status code. + * + * @return status + */ + Integer getStatus(); + + /** + * The identifier for a trace. + * + * @return traceId + */ + String getTraceId(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new ProblemDetailsImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param type see getter + * @return Current builder + * @see #getType + */ + Builder setType(String type); + + /** + * see getter + * + * @param title see getter + * @return Current builder + * @see #getTitle + */ + Builder setTitle(String title); + + /** + * see getter + * + * @param status see getter + * @return Current builder + * @see #getStatus + */ + Builder setStatus(Integer status); + + /** + * see getter + * + * @param traceId see getter + * @return Current builder + * @see #getTraceId + */ + Builder setTraceId(String traceId); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + ProblemDetails build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java new file mode 100644 index 000000000..89efaa2d6 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java @@ -0,0 +1,174 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import java.util.Objects; + +@JsonPropertyOrder({ + ProblemDetailsImpl.JSON_PROPERTY_TYPE, + ProblemDetailsImpl.JSON_PROPERTY_TITLE, + ProblemDetailsImpl.JSON_PROPERTY_STATUS, + ProblemDetailsImpl.JSON_PROPERTY_TRACE_ID +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class ProblemDetailsImpl implements ProblemDetails { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_TYPE = "type"; + + private OptionalValue type; + + public static final String JSON_PROPERTY_TITLE = "title"; + + private OptionalValue title; + + public static final String JSON_PROPERTY_STATUS = "status"; + + private OptionalValue status; + + public static final String JSON_PROPERTY_TRACE_ID = "traceId"; + + private OptionalValue traceId; + + public ProblemDetailsImpl() {} + + protected ProblemDetailsImpl( + OptionalValue type, + OptionalValue title, + OptionalValue status, + OptionalValue traceId) { + this.type = type; + this.title = title; + this.status = status; + this.traceId = traceId; + } + + @JsonIgnore + public String getType() { + return type.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue type() { + return type; + } + + @JsonIgnore + public String getTitle() { + return title.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue title() { + return title; + } + + @JsonIgnore + public Integer getStatus() { + return status.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue status() { + return status; + } + + @JsonIgnore + public String getTraceId() { + return traceId.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TRACE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue traceId() { + return traceId; + } + + /** Return true if this ProblemDetails object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProblemDetailsImpl problemDetails = (ProblemDetailsImpl) o; + return Objects.equals(this.type, problemDetails.type) + && Objects.equals(this.title, problemDetails.title) + && Objects.equals(this.status, problemDetails.status) + && Objects.equals(this.traceId, problemDetails.traceId); + } + + @Override + public int hashCode() { + return Objects.hash(type, title, status, traceId); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProblemDetailsImpl {\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" traceId: ").append(toIndentedString(traceId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements ProblemDetails.Builder { + OptionalValue type = OptionalValue.empty(); + OptionalValue title = OptionalValue.empty(); + OptionalValue status = OptionalValue.empty(); + OptionalValue traceId = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_TYPE) + public Builder setType(String type) { + this.type = OptionalValue.of(type); + return this; + } + + @JsonProperty(JSON_PROPERTY_TITLE) + public Builder setTitle(String title) { + this.title = OptionalValue.of(title); + return this; + } + + @JsonProperty(JSON_PROPERTY_STATUS) + public Builder setStatus(Integer status) { + this.status = OptionalValue.of(status); + return this; + } + + @JsonProperty(JSON_PROPERTY_TRACE_ID) + public Builder setTraceId(String traceId) { + this.traceId = OptionalValue.of(traceId); + return this; + } + + public ProblemDetails build() { + return new ProblemDetailsImpl(type, title, status, traceId); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java new file mode 100644 index 000000000..4a33f1399 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java @@ -0,0 +1,44 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.sinch.sdk.core.utils.EnumDynamic; +import com.sinch.sdk.core.utils.EnumSupportDynamic; +import java.util.Arrays; +import java.util.stream.Stream; + +/** */ +public class LookupFeatureType extends EnumDynamic { + + /** Use to return line type information for the phone number. */ + public static final LookupFeatureType LINE_TYPE = new LookupFeatureType("LineType"); + + /** Use to determine whether the phone number is SIM swapped. */ + public static final LookupFeatureType SIM_SWAP = new LookupFeatureType("SimSwap"); + + /** Use to determine if the carrier is associated with a VoIP provider (alpha). */ + public static final LookupFeatureType VO_IP_DETECTION = new LookupFeatureType("VoIPDetection"); + + /** Use to determine whether the phone number has been disconnected (alpha). */ + public static final LookupFeatureType RND = new LookupFeatureType("RND"); + + private static final EnumSupportDynamic ENUM_SUPPORT = + new EnumSupportDynamic<>( + LookupFeatureType.class, + LookupFeatureType::new, + Arrays.asList(LINE_TYPE, SIM_SWAP, VO_IP_DETECTION, RND)); + + private LookupFeatureType(String value) { + super(value); + } + + public static Stream values() { + return ENUM_SUPPORT.values(); + } + + public static LookupFeatureType from(String value) { + return ENUM_SUPPORT.from(value); + } + + public static String valueOf(LookupFeatureType e) { + return ENUM_SUPPORT.valueOf(e); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java new file mode 100644 index 000000000..4c085f6ab --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java @@ -0,0 +1,89 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.List; + +/** NumberLookupRequest */ +@JsonDeserialize(builder = NumberLookupRequestImpl.Builder.class) +public interface NumberLookupRequest { + + /** + * MSISDN in E.164 format to query. + * + *

Field is required + * + * @return number + */ + String getNumber(); + + /** + * Contains requested features. Fallback to LineType if not provided. + * + * @return features + */ + List getFeatures(); + + /** + * Required when RND feature is requested. + * + * @return rndFeatureOptions + */ + RndFeatureOptions getRndFeatureOptions(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new NumberLookupRequestImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param number see getter + * @return Current builder + * @see #getNumber + */ + Builder setNumber(String number); + + /** + * see getter + * + * @param features see getter + * @return Current builder + * @see #getFeatures + */ + Builder setFeatures(List features); + + /** + * see getter + * + * @param rndFeatureOptions see getter + * @return Current builder + * @see #getRndFeatureOptions + */ + Builder setRndFeatureOptions(RndFeatureOptions rndFeatureOptions); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + NumberLookupRequest build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java new file mode 100644 index 000000000..390de3851 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java @@ -0,0 +1,148 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import java.util.List; +import java.util.Objects; + +@JsonPropertyOrder({ + NumberLookupRequestImpl.JSON_PROPERTY_NUMBER, + NumberLookupRequestImpl.JSON_PROPERTY_FEATURES, + NumberLookupRequestImpl.JSON_PROPERTY_RND_FEATURE_OPTIONS +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class NumberLookupRequestImpl implements NumberLookupRequest { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_NUMBER = "number"; + + private OptionalValue number; + + public static final String JSON_PROPERTY_FEATURES = "features"; + + private OptionalValue> features; + + public static final String JSON_PROPERTY_RND_FEATURE_OPTIONS = "rndFeatureOptions"; + + private OptionalValue rndFeatureOptions; + + public NumberLookupRequestImpl() {} + + protected NumberLookupRequestImpl( + OptionalValue number, + OptionalValue> features, + OptionalValue rndFeatureOptions) { + this.number = number; + this.features = features; + this.rndFeatureOptions = rndFeatureOptions; + } + + @JsonIgnore + public String getNumber() { + return number.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public OptionalValue number() { + return number; + } + + @JsonIgnore + public List getFeatures() { + return features.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_FEATURES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue> features() { + return features; + } + + @JsonIgnore + public RndFeatureOptions getRndFeatureOptions() { + return rndFeatureOptions.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_RND_FEATURE_OPTIONS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue rndFeatureOptions() { + return rndFeatureOptions; + } + + /** Return true if this NumberLookupRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumberLookupRequestImpl numberLookupRequest = (NumberLookupRequestImpl) o; + return Objects.equals(this.number, numberLookupRequest.number) + && Objects.equals(this.features, numberLookupRequest.features) + && Objects.equals(this.rndFeatureOptions, numberLookupRequest.rndFeatureOptions); + } + + @Override + public int hashCode() { + return Objects.hash(number, features, rndFeatureOptions); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumberLookupRequestImpl {\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append(" features: ").append(toIndentedString(features)).append("\n"); + sb.append(" rndFeatureOptions: ").append(toIndentedString(rndFeatureOptions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements NumberLookupRequest.Builder { + OptionalValue number = OptionalValue.empty(); + OptionalValue> features = OptionalValue.empty(); + OptionalValue rndFeatureOptions = OptionalValue.empty(); + + @JsonProperty(value = JSON_PROPERTY_NUMBER, required = true) + public Builder setNumber(String number) { + this.number = OptionalValue.of(number); + return this; + } + + @JsonProperty(JSON_PROPERTY_FEATURES) + public Builder setFeatures(List features) { + this.features = OptionalValue.of(features); + return this; + } + + @JsonProperty(JSON_PROPERTY_RND_FEATURE_OPTIONS) + public Builder setRndFeatureOptions(RndFeatureOptions rndFeatureOptions) { + this.rndFeatureOptions = OptionalValue.of(rndFeatureOptions); + return this; + } + + public NumberLookupRequest build() { + return new NumberLookupRequestImpl(number, features, rndFeatureOptions); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java new file mode 100644 index 000000000..55a741fef --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java @@ -0,0 +1,55 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.time.Instant; + +/** RndFeatureOptions */ +@JsonDeserialize(builder = RndFeatureOptionsImpl.Builder.class) +public interface RndFeatureOptions { + + /** + * Last contact date in YYYY-MM-DD format. + * + * @return contactDate + */ + Instant getContactDate(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new RndFeatureOptionsImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param contactDate see getter + * @return Current builder + * @see #getContactDate + */ + Builder setContactDate(Instant contactDate); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + RndFeatureOptions build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java new file mode 100644 index 000000000..801bc7b4e --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java @@ -0,0 +1,91 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import java.time.Instant; +import java.util.Objects; + +@JsonPropertyOrder({RndFeatureOptionsImpl.JSON_PROPERTY_CONTACT_DATE}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class RndFeatureOptionsImpl implements RndFeatureOptions { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_CONTACT_DATE = "contactDate"; + + private OptionalValue contactDate; + + public RndFeatureOptionsImpl() {} + + protected RndFeatureOptionsImpl(OptionalValue contactDate) { + this.contactDate = contactDate; + } + + @JsonIgnore + public Instant getContactDate() { + return contactDate.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_CONTACT_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue contactDate() { + return contactDate; + } + + /** Return true if this RndFeatureOptions object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RndFeatureOptionsImpl rndFeatureOptions = (RndFeatureOptionsImpl) o; + return Objects.equals(this.contactDate, rndFeatureOptions.contactDate); + } + + @Override + public int hashCode() { + return Objects.hash(contactDate); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RndFeatureOptionsImpl {\n"); + sb.append(" contactDate: ").append(toIndentedString(contactDate)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements RndFeatureOptions.Builder { + OptionalValue contactDate = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_CONTACT_DATE) + public Builder setContactDate(Instant contactDate) { + this.contactDate = OptionalValue.of(contactDate); + return this; + } + + public RndFeatureOptions build() { + return new RndFeatureOptionsImpl(contactDate); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java new file mode 100644 index 000000000..2a0ac044f --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java @@ -0,0 +1,156 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import java.time.Instant; + +/** LineResponse */ +@JsonDeserialize(builder = LineResponseImpl.Builder.class) +public interface LineResponse { + + /** + * Name of the carrier. + * + * @return carrier + */ + String getCarrier(); + + /** + * Number type e.g. wireless, mobile, fixed. + * + * @return type + */ + LineType getType(); + + /** + * A numeric code (MCC) that uniquely identifies a country within the international + * telecommunications network. + * + * @return mobileCountryCode + */ + String getMobileCountryCode(); + + /** + * A distinct identifier assigned to a mobile network operator within a specific country, used in + * combination with MCC. + * + * @return mobileNetworkCode + */ + String getMobileNetworkCode(); + + /** + * Indicates if a phone number has been transferred from its original network to a different + * provider. + * + * @return ported + */ + Boolean getPorted(); + + /** + * Specifies the date, in ISO 8601 format, when a phone number was transferred from its original + * network to a new provider. + * + * @return portingDate + */ + Instant getPortingDate(); + + /** + * Get error + * + * @return error + */ + LookupError getError(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new LineResponseImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param carrier see getter + * @return Current builder + * @see #getCarrier + */ + Builder setCarrier(String carrier); + + /** + * see getter + * + * @param type see getter + * @return Current builder + * @see #getType + */ + Builder setType(LineType type); + + /** + * see getter + * + * @param mobileCountryCode see getter + * @return Current builder + * @see #getMobileCountryCode + */ + Builder setMobileCountryCode(String mobileCountryCode); + + /** + * see getter + * + * @param mobileNetworkCode see getter + * @return Current builder + * @see #getMobileNetworkCode + */ + Builder setMobileNetworkCode(String mobileNetworkCode); + + /** + * see getter + * + * @param ported see getter + * @return Current builder + * @see #getPorted + */ + Builder setPorted(Boolean ported); + + /** + * see getter + * + * @param portingDate see getter + * @return Current builder + * @see #getPortingDate + */ + Builder setPortingDate(Instant portingDate); + + /** + * see getter + * + * @param error see getter + * @return Current builder + * @see #getError + */ + Builder setError(LookupError error); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + LineResponse build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java new file mode 100644 index 000000000..0717a204c --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java @@ -0,0 +1,259 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import java.time.Instant; +import java.util.Objects; + +@JsonPropertyOrder({ + LineResponseImpl.JSON_PROPERTY_CARRIER, + LineResponseImpl.JSON_PROPERTY_TYPE, + LineResponseImpl.JSON_PROPERTY_MOBILE_COUNTRY_CODE, + LineResponseImpl.JSON_PROPERTY_MOBILE_NETWORK_CODE, + LineResponseImpl.JSON_PROPERTY_PORTED, + LineResponseImpl.JSON_PROPERTY_PORTING_DATE, + LineResponseImpl.JSON_PROPERTY_ERROR +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class LineResponseImpl implements LineResponse { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_CARRIER = "carrier"; + + private OptionalValue carrier; + + public static final String JSON_PROPERTY_TYPE = "type"; + + private OptionalValue type; + + public static final String JSON_PROPERTY_MOBILE_COUNTRY_CODE = "mobileCountryCode"; + + private OptionalValue mobileCountryCode; + + public static final String JSON_PROPERTY_MOBILE_NETWORK_CODE = "mobileNetworkCode"; + + private OptionalValue mobileNetworkCode; + + public static final String JSON_PROPERTY_PORTED = "ported"; + + private OptionalValue ported; + + public static final String JSON_PROPERTY_PORTING_DATE = "portingDate"; + + private OptionalValue portingDate; + + public static final String JSON_PROPERTY_ERROR = "error"; + + private OptionalValue error; + + public LineResponseImpl() {} + + protected LineResponseImpl( + OptionalValue carrier, + OptionalValue type, + OptionalValue mobileCountryCode, + OptionalValue mobileNetworkCode, + OptionalValue ported, + OptionalValue portingDate, + OptionalValue error) { + this.carrier = carrier; + this.type = type; + this.mobileCountryCode = mobileCountryCode; + this.mobileNetworkCode = mobileNetworkCode; + this.ported = ported; + this.portingDate = portingDate; + this.error = error; + } + + @JsonIgnore + public String getCarrier() { + return carrier.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_CARRIER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue carrier() { + return carrier; + } + + @JsonIgnore + public LineType getType() { + return type.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue type() { + return type; + } + + @JsonIgnore + public String getMobileCountryCode() { + return mobileCountryCode.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_MOBILE_COUNTRY_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue mobileCountryCode() { + return mobileCountryCode; + } + + @JsonIgnore + public String getMobileNetworkCode() { + return mobileNetworkCode.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_MOBILE_NETWORK_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue mobileNetworkCode() { + return mobileNetworkCode; + } + + @JsonIgnore + public Boolean getPorted() { + return ported.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_PORTED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue ported() { + return ported; + } + + @JsonIgnore + public Instant getPortingDate() { + return portingDate.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_PORTING_DATE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue portingDate() { + return portingDate; + } + + @JsonIgnore + public LookupError getError() { + return error.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_ERROR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue error() { + return error; + } + + /** Return true if this LineResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LineResponseImpl lineResponse = (LineResponseImpl) o; + return Objects.equals(this.carrier, lineResponse.carrier) + && Objects.equals(this.type, lineResponse.type) + && Objects.equals(this.mobileCountryCode, lineResponse.mobileCountryCode) + && Objects.equals(this.mobileNetworkCode, lineResponse.mobileNetworkCode) + && Objects.equals(this.ported, lineResponse.ported) + && Objects.equals(this.portingDate, lineResponse.portingDate) + && Objects.equals(this.error, lineResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash( + carrier, type, mobileCountryCode, mobileNetworkCode, ported, portingDate, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LineResponseImpl {\n"); + sb.append(" carrier: ").append(toIndentedString(carrier)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" mobileCountryCode: ").append(toIndentedString(mobileCountryCode)).append("\n"); + sb.append(" mobileNetworkCode: ").append(toIndentedString(mobileNetworkCode)).append("\n"); + sb.append(" ported: ").append(toIndentedString(ported)).append("\n"); + sb.append(" portingDate: ").append(toIndentedString(portingDate)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements LineResponse.Builder { + OptionalValue carrier = OptionalValue.empty(); + OptionalValue type = OptionalValue.empty(); + OptionalValue mobileCountryCode = OptionalValue.empty(); + OptionalValue mobileNetworkCode = OptionalValue.empty(); + OptionalValue ported = OptionalValue.empty(); + OptionalValue portingDate = OptionalValue.empty(); + OptionalValue error = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_CARRIER) + public Builder setCarrier(String carrier) { + this.carrier = OptionalValue.of(carrier); + return this; + } + + @JsonProperty(JSON_PROPERTY_TYPE) + public Builder setType(LineType type) { + this.type = OptionalValue.of(type); + return this; + } + + @JsonProperty(JSON_PROPERTY_MOBILE_COUNTRY_CODE) + public Builder setMobileCountryCode(String mobileCountryCode) { + this.mobileCountryCode = OptionalValue.of(mobileCountryCode); + return this; + } + + @JsonProperty(JSON_PROPERTY_MOBILE_NETWORK_CODE) + public Builder setMobileNetworkCode(String mobileNetworkCode) { + this.mobileNetworkCode = OptionalValue.of(mobileNetworkCode); + return this; + } + + @JsonProperty(JSON_PROPERTY_PORTED) + public Builder setPorted(Boolean ported) { + this.ported = OptionalValue.of(ported); + return this; + } + + @JsonProperty(JSON_PROPERTY_PORTING_DATE) + public Builder setPortingDate(Instant portingDate) { + this.portingDate = OptionalValue.of(portingDate); + return this; + } + + @JsonProperty(JSON_PROPERTY_ERROR) + public Builder setError(LookupError error) { + this.error = OptionalValue.of(error); + return this; + } + + public LineResponse build() { + return new LineResponseImpl( + carrier, type, mobileCountryCode, mobileNetworkCode, ported, portingDate, error); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java new file mode 100644 index 000000000..7b38d468a --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java @@ -0,0 +1,50 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.sinch.sdk.core.utils.EnumDynamic; +import com.sinch.sdk.core.utils.EnumSupportDynamic; +import java.util.Arrays; +import java.util.stream.Stream; + +/** Represents the type of a phone line. */ +public class LineType extends EnumDynamic { + + /** A landline phone number. */ + public static final LineType LANDLINE = new LineType("Landline"); + + /** A mobile network phone number. */ + public static final LineType MOBILE = new LineType("Mobile"); + + /** A Voice over IP phone number. */ + public static final LineType VO_IP = new LineType("VoIP"); + + /** A specialty type of number, such as a satellite phone or fax line. */ + public static final LineType SPECIAL = new LineType("Special"); + + /** A freephone type phone number. */ + public static final LineType FREEPHONE = new LineType("Freephone"); + + /** Another type. */ + public static final LineType OTHER = new LineType("Other"); + + private static final EnumSupportDynamic ENUM_SUPPORT = + new EnumSupportDynamic<>( + LineType.class, + LineType::new, + Arrays.asList(LANDLINE, MOBILE, VO_IP, SPECIAL, FREEPHONE, OTHER)); + + private LineType(String value) { + super(value); + } + + public static Stream values() { + return ENUM_SUPPORT.values(); + } + + public static LineType from(String value) { + return ENUM_SUPPORT.from(value); + } + + public static String valueOf(LineType e) { + return ENUM_SUPPORT.valueOf(e); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java new file mode 100644 index 000000000..18ab8c808 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java @@ -0,0 +1,150 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +/** NumberLookupResponse */ +@JsonDeserialize(builder = NumberLookupResponseImpl.Builder.class) +public interface NumberLookupResponse { + + /** + * An object containing information about the line type of the number. + * + * @return line + */ + LineResponse getLine(); + + /** + * An object containing information about the SimSwap verification performed on the number. + * + * @return simSwap + */ + SimSwapResponse getSimSwap(); + + /** + * An object containing information about the VoIP detection performed on the number. + * + * @return voIPDetection + */ + VoIPDetectionResponse getVoIPDetection(); + + /** + * An object containing information whether number is disconnected. + * + * @return rnd + */ + RndResponse getRnd(); + + /** + * ISO 3166-1 alpha-2 two-letter country identifier + * + * @return countryCode + */ + String getCountryCode(); + + /** + * The identifier for a trace. + * + * @return traceId + */ + String getTraceId(); + + /** + * Requested MSISDN in E.164 format. + * + * @return number + */ + String getNumber(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new NumberLookupResponseImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param line see getter + * @return Current builder + * @see #getLine + */ + Builder setLine(LineResponse line); + + /** + * see getter + * + * @param simSwap see getter + * @return Current builder + * @see #getSimSwap + */ + Builder setSimSwap(SimSwapResponse simSwap); + + /** + * see getter + * + * @param voIPDetection see getter + * @return Current builder + * @see #getVoIPDetection + */ + Builder setVoIPDetection(VoIPDetectionResponse voIPDetection); + + /** + * see getter + * + * @param rnd see getter + * @return Current builder + * @see #getRnd + */ + Builder setRnd(RndResponse rnd); + + /** + * see getter + * + * @param countryCode see getter + * @return Current builder + * @see #getCountryCode + */ + Builder setCountryCode(String countryCode); + + /** + * see getter + * + * @param traceId see getter + * @return Current builder + * @see #getTraceId + */ + Builder setTraceId(String traceId); + + /** + * see getter + * + * @param number see getter + * @return Current builder + * @see #getNumber + */ + Builder setNumber(String number); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + NumberLookupResponse build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java new file mode 100644 index 000000000..dc9274608 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java @@ -0,0 +1,256 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import java.util.Objects; + +@JsonPropertyOrder({ + NumberLookupResponseImpl.JSON_PROPERTY_LINE, + NumberLookupResponseImpl.JSON_PROPERTY_SIM_SWAP, + NumberLookupResponseImpl.JSON_PROPERTY_VO_I_P_DETECTION, + NumberLookupResponseImpl.JSON_PROPERTY_RND, + NumberLookupResponseImpl.JSON_PROPERTY_COUNTRY_CODE, + NumberLookupResponseImpl.JSON_PROPERTY_TRACE_ID, + NumberLookupResponseImpl.JSON_PROPERTY_NUMBER +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class NumberLookupResponseImpl implements NumberLookupResponse { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_LINE = "line"; + + private OptionalValue line; + + public static final String JSON_PROPERTY_SIM_SWAP = "simSwap"; + + private OptionalValue simSwap; + + public static final String JSON_PROPERTY_VO_I_P_DETECTION = "voIPDetection"; + + private OptionalValue voIPDetection; + + public static final String JSON_PROPERTY_RND = "rnd"; + + private OptionalValue rnd; + + public static final String JSON_PROPERTY_COUNTRY_CODE = "countryCode"; + + private OptionalValue countryCode; + + public static final String JSON_PROPERTY_TRACE_ID = "traceId"; + + private OptionalValue traceId; + + public static final String JSON_PROPERTY_NUMBER = "number"; + + private OptionalValue number; + + public NumberLookupResponseImpl() {} + + protected NumberLookupResponseImpl( + OptionalValue line, + OptionalValue simSwap, + OptionalValue voIPDetection, + OptionalValue rnd, + OptionalValue countryCode, + OptionalValue traceId, + OptionalValue number) { + this.line = line; + this.simSwap = simSwap; + this.voIPDetection = voIPDetection; + this.rnd = rnd; + this.countryCode = countryCode; + this.traceId = traceId; + this.number = number; + } + + @JsonIgnore + public LineResponse getLine() { + return line.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_LINE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue line() { + return line; + } + + @JsonIgnore + public SimSwapResponse getSimSwap() { + return simSwap.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_SIM_SWAP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue simSwap() { + return simSwap; + } + + @JsonIgnore + public VoIPDetectionResponse getVoIPDetection() { + return voIPDetection.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue voIPDetection() { + return voIPDetection; + } + + @JsonIgnore + public RndResponse getRnd() { + return rnd.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_RND) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue rnd() { + return rnd; + } + + @JsonIgnore + public String getCountryCode() { + return countryCode.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_COUNTRY_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue countryCode() { + return countryCode; + } + + @JsonIgnore + public String getTraceId() { + return traceId.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_TRACE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue traceId() { + return traceId; + } + + @JsonIgnore + public String getNumber() { + return number.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_NUMBER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue number() { + return number; + } + + /** Return true if this NumberLookupResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NumberLookupResponseImpl numberLookupResponse = (NumberLookupResponseImpl) o; + return Objects.equals(this.line, numberLookupResponse.line) + && Objects.equals(this.simSwap, numberLookupResponse.simSwap) + && Objects.equals(this.voIPDetection, numberLookupResponse.voIPDetection) + && Objects.equals(this.rnd, numberLookupResponse.rnd) + && Objects.equals(this.countryCode, numberLookupResponse.countryCode) + && Objects.equals(this.traceId, numberLookupResponse.traceId) + && Objects.equals(this.number, numberLookupResponse.number); + } + + @Override + public int hashCode() { + return Objects.hash(line, simSwap, voIPDetection, rnd, countryCode, traceId, number); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NumberLookupResponseImpl {\n"); + sb.append(" line: ").append(toIndentedString(line)).append("\n"); + sb.append(" simSwap: ").append(toIndentedString(simSwap)).append("\n"); + sb.append(" voIPDetection: ").append(toIndentedString(voIPDetection)).append("\n"); + sb.append(" rnd: ").append(toIndentedString(rnd)).append("\n"); + sb.append(" countryCode: ").append(toIndentedString(countryCode)).append("\n"); + sb.append(" traceId: ").append(toIndentedString(traceId)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements NumberLookupResponse.Builder { + OptionalValue line = OptionalValue.empty(); + OptionalValue simSwap = OptionalValue.empty(); + OptionalValue voIPDetection = OptionalValue.empty(); + OptionalValue rnd = OptionalValue.empty(); + OptionalValue countryCode = OptionalValue.empty(); + OptionalValue traceId = OptionalValue.empty(); + OptionalValue number = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_LINE) + public Builder setLine(LineResponse line) { + this.line = OptionalValue.of(line); + return this; + } + + @JsonProperty(JSON_PROPERTY_SIM_SWAP) + public Builder setSimSwap(SimSwapResponse simSwap) { + this.simSwap = OptionalValue.of(simSwap); + return this; + } + + @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) + public Builder setVoIPDetection(VoIPDetectionResponse voIPDetection) { + this.voIPDetection = OptionalValue.of(voIPDetection); + return this; + } + + @JsonProperty(JSON_PROPERTY_RND) + public Builder setRnd(RndResponse rnd) { + this.rnd = OptionalValue.of(rnd); + return this; + } + + @JsonProperty(JSON_PROPERTY_COUNTRY_CODE) + public Builder setCountryCode(String countryCode) { + this.countryCode = OptionalValue.of(countryCode); + return this; + } + + @JsonProperty(JSON_PROPERTY_TRACE_ID) + public Builder setTraceId(String traceId) { + this.traceId = OptionalValue.of(traceId); + return this; + } + + @JsonProperty(JSON_PROPERTY_NUMBER) + public Builder setNumber(String number) { + this.number = OptionalValue.of(number); + return this; + } + + public NumberLookupResponse build() { + return new NumberLookupResponseImpl( + line, simSwap, voIPDetection, rnd, countryCode, traceId, number); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java new file mode 100644 index 000000000..d207aa08f --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java @@ -0,0 +1,71 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; + +/** RndResponse */ +@JsonDeserialize(builder = RndResponseImpl.Builder.class) +public interface RndResponse { + + /** + * Provides information whether the number was disconnected after provided last contact date. + * + * @return disconnected + */ + Boolean getDisconnected(); + + /** + * Get error + * + * @return error + */ + LookupError getError(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new RndResponseImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param disconnected see getter + * @return Current builder + * @see #getDisconnected + */ + Builder setDisconnected(Boolean disconnected); + + /** + * see getter + * + * @param error see getter + * @return Current builder + * @see #getError + */ + Builder setError(LookupError error); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + RndResponse build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java new file mode 100644 index 000000000..12223964f --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java @@ -0,0 +1,119 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import java.util.Objects; + +@JsonPropertyOrder({ + RndResponseImpl.JSON_PROPERTY_DISCONNECTED, + RndResponseImpl.JSON_PROPERTY_ERROR +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class RndResponseImpl implements RndResponse { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_DISCONNECTED = "disconnected"; + + private OptionalValue disconnected; + + public static final String JSON_PROPERTY_ERROR = "error"; + + private OptionalValue error; + + public RndResponseImpl() {} + + protected RndResponseImpl(OptionalValue disconnected, OptionalValue error) { + this.disconnected = disconnected; + this.error = error; + } + + @JsonIgnore + public Boolean getDisconnected() { + return disconnected.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_DISCONNECTED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue disconnected() { + return disconnected; + } + + @JsonIgnore + public LookupError getError() { + return error.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_ERROR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue error() { + return error; + } + + /** Return true if this RndResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + RndResponseImpl rndResponse = (RndResponseImpl) o; + return Objects.equals(this.disconnected, rndResponse.disconnected) + && Objects.equals(this.error, rndResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(disconnected, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class RndResponseImpl {\n"); + sb.append(" disconnected: ").append(toIndentedString(disconnected)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements RndResponse.Builder { + OptionalValue disconnected = OptionalValue.empty(); + OptionalValue error = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_DISCONNECTED) + public Builder setDisconnected(Boolean disconnected) { + this.disconnected = OptionalValue.of(disconnected); + return this; + } + + @JsonProperty(JSON_PROPERTY_ERROR) + public Builder setError(LookupError error) { + this.error = OptionalValue.of(error); + return this; + } + + public RndResponse build() { + return new RndResponseImpl(disconnected, error); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java new file mode 100644 index 000000000..af79a3eab --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java @@ -0,0 +1,87 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; + +/** SimSwapResponse */ +@JsonDeserialize(builder = SimSwapResponseImpl.Builder.class) +public interface SimSwapResponse { + + /** + * Indicates whether SIM was changed. + * + * @return swapped + */ + Boolean getSwapped(); + + /** + * Threshold for sim swap check. + * + * @return swapPeriod + */ + SwapPeriodType getSwapPeriod(); + + /** + * Get error + * + * @return error + */ + LookupError getError(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new SimSwapResponseImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param swapped see getter + * @return Current builder + * @see #getSwapped + */ + Builder setSwapped(Boolean swapped); + + /** + * see getter + * + * @param swapPeriod see getter + * @return Current builder + * @see #getSwapPeriod + */ + Builder setSwapPeriod(SwapPeriodType swapPeriod); + + /** + * see getter + * + * @param error see getter + * @return Current builder + * @see #getError + */ + Builder setError(LookupError error); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + SimSwapResponse build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java new file mode 100644 index 000000000..19142429a --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java @@ -0,0 +1,148 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import java.util.Objects; + +@JsonPropertyOrder({ + SimSwapResponseImpl.JSON_PROPERTY_SWAPPED, + SimSwapResponseImpl.JSON_PROPERTY_SWAP_PERIOD, + SimSwapResponseImpl.JSON_PROPERTY_ERROR +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class SimSwapResponseImpl implements SimSwapResponse { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_SWAPPED = "swapped"; + + private OptionalValue swapped; + + public static final String JSON_PROPERTY_SWAP_PERIOD = "swapPeriod"; + + private OptionalValue swapPeriod; + + public static final String JSON_PROPERTY_ERROR = "error"; + + private OptionalValue error; + + public SimSwapResponseImpl() {} + + protected SimSwapResponseImpl( + OptionalValue swapped, + OptionalValue swapPeriod, + OptionalValue error) { + this.swapped = swapped; + this.swapPeriod = swapPeriod; + this.error = error; + } + + @JsonIgnore + public Boolean getSwapped() { + return swapped.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_SWAPPED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue swapped() { + return swapped; + } + + @JsonIgnore + public SwapPeriodType getSwapPeriod() { + return swapPeriod.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_SWAP_PERIOD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue swapPeriod() { + return swapPeriod; + } + + @JsonIgnore + public LookupError getError() { + return error.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_ERROR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue error() { + return error; + } + + /** Return true if this SimSwapResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SimSwapResponseImpl simSwapResponse = (SimSwapResponseImpl) o; + return Objects.equals(this.swapped, simSwapResponse.swapped) + && Objects.equals(this.swapPeriod, simSwapResponse.swapPeriod) + && Objects.equals(this.error, simSwapResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(swapped, swapPeriod, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SimSwapResponseImpl {\n"); + sb.append(" swapped: ").append(toIndentedString(swapped)).append("\n"); + sb.append(" swapPeriod: ").append(toIndentedString(swapPeriod)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements SimSwapResponse.Builder { + OptionalValue swapped = OptionalValue.empty(); + OptionalValue swapPeriod = OptionalValue.empty(); + OptionalValue error = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_SWAPPED) + public Builder setSwapped(Boolean swapped) { + this.swapped = OptionalValue.of(swapped); + return this; + } + + @JsonProperty(JSON_PROPERTY_SWAP_PERIOD) + public Builder setSwapPeriod(SwapPeriodType swapPeriod) { + this.swapPeriod = OptionalValue.of(swapPeriod); + return this; + } + + @JsonProperty(JSON_PROPERTY_ERROR) + public Builder setError(LookupError error) { + this.error = OptionalValue.of(error); + return this; + } + + public SimSwapResponse build() { + return new SimSwapResponseImpl(swapped, swapPeriod, error); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java new file mode 100644 index 000000000..61e71d72e --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java @@ -0,0 +1,63 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.sinch.sdk.core.utils.EnumDynamic; +import com.sinch.sdk.core.utils.EnumSupportDynamic; +import java.util.Arrays; +import java.util.stream.Stream; + +/** */ +public class SwapPeriodType extends EnumDynamic { + + /** Undefined */ + public static final SwapPeriodType UNDEFINED = new SwapPeriodType("Undefined"); + + /** 4 Hours */ + public static final SwapPeriodType SP4_H = new SwapPeriodType("SP4H"); + + /** 12 Hours */ + public static final SwapPeriodType SP12_H = new SwapPeriodType("SP12H"); + + /** 24 Hours */ + public static final SwapPeriodType SP24_H = new SwapPeriodType("SP24H"); + + /** 48 Hours */ + public static final SwapPeriodType SP48_H = new SwapPeriodType("SP48H"); + + /** 5 Days */ + public static final SwapPeriodType SP5_D = new SwapPeriodType("SP5D"); + + /** 7 Days */ + public static final SwapPeriodType SP7_D = new SwapPeriodType("SP7D"); + + /** 14 Days */ + public static final SwapPeriodType SP14_D = new SwapPeriodType("SP14D"); + + /** 30 Days */ + public static final SwapPeriodType SP30_D = new SwapPeriodType("SP30D"); + + /** Maximum */ + public static final SwapPeriodType SPMAX = new SwapPeriodType("SPMAX"); + + private static final EnumSupportDynamic ENUM_SUPPORT = + new EnumSupportDynamic<>( + SwapPeriodType.class, + SwapPeriodType::new, + Arrays.asList( + UNDEFINED, SP4_H, SP12_H, SP24_H, SP48_H, SP5_D, SP7_D, SP14_D, SP30_D, SPMAX)); + + private SwapPeriodType(String value) { + super(value); + } + + public static Stream values() { + return ENUM_SUPPORT.values(); + } + + public static SwapPeriodType from(String value) { + return ENUM_SUPPORT.from(value); + } + + public static String valueOf(SwapPeriodType e) { + return ENUM_SUPPORT.valueOf(e); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java new file mode 100644 index 000000000..ab52b42eb --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java @@ -0,0 +1,71 @@ +/* + * Number Lookup Api v2 + * + * OpenAPI document version: 0.1.0 + * Contact: support@sinch.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * Do not edit the class manually. + */ + +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; + +/** VoIPDetectionResponse */ +@JsonDeserialize(builder = VoIPDetectionResponseImpl.Builder.class) +public interface VoIPDetectionResponse { + + /** + * Probability of number being VoIP based on the AI analysis. + * + * @return probability + */ + VoIPProbabilityType getProbability(); + + /** + * Get error + * + * @return error + */ + LookupError getError(); + + /** + * Getting builder + * + * @return New Builder instance + */ + static Builder builder() { + return new VoIPDetectionResponseImpl.Builder(); + } + + /** Dedicated Builder */ + interface Builder { + + /** + * see getter + * + * @param probability see getter + * @return Current builder + * @see #getProbability + */ + Builder setProbability(VoIPProbabilityType probability); + + /** + * see getter + * + * @param error see getter + * @return Current builder + * @see #getError + */ + Builder setError(LookupError error); + + /** + * Create instance + * + * @return The instance build with current builder values + */ + VoIPDetectionResponse build(); + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java new file mode 100644 index 000000000..84d168cc4 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java @@ -0,0 +1,120 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.fasterxml.jackson.annotation.JsonFilter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; +import com.sinch.sdk.core.models.OptionalValue; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import java.util.Objects; + +@JsonPropertyOrder({ + VoIPDetectionResponseImpl.JSON_PROPERTY_PROBABILITY, + VoIPDetectionResponseImpl.JSON_PROPERTY_ERROR +}) +@JsonFilter("uninitializedFilter") +@JsonInclude(value = JsonInclude.Include.CUSTOM) +public class VoIPDetectionResponseImpl implements VoIPDetectionResponse { + private static final long serialVersionUID = 1L; + + public static final String JSON_PROPERTY_PROBABILITY = "probability"; + + private OptionalValue probability; + + public static final String JSON_PROPERTY_ERROR = "error"; + + private OptionalValue error; + + public VoIPDetectionResponseImpl() {} + + protected VoIPDetectionResponseImpl( + OptionalValue probability, OptionalValue error) { + this.probability = probability; + this.error = error; + } + + @JsonIgnore + public VoIPProbabilityType getProbability() { + return probability.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_PROBABILITY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue probability() { + return probability; + } + + @JsonIgnore + public LookupError getError() { + return error.orElse(null); + } + + @JsonProperty(JSON_PROPERTY_ERROR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OptionalValue error() { + return error; + } + + /** Return true if this VoIPDetectionResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + VoIPDetectionResponseImpl voIPDetectionResponse = (VoIPDetectionResponseImpl) o; + return Objects.equals(this.probability, voIPDetectionResponse.probability) + && Objects.equals(this.error, voIPDetectionResponse.error); + } + + @Override + public int hashCode() { + return Objects.hash(probability, error); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class VoIPDetectionResponseImpl {\n"); + sb.append(" probability: ").append(toIndentedString(probability)).append("\n"); + sb.append(" error: ").append(toIndentedString(error)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + @JsonPOJOBuilder(withPrefix = "set") + static class Builder implements VoIPDetectionResponse.Builder { + OptionalValue probability = OptionalValue.empty(); + OptionalValue error = OptionalValue.empty(); + + @JsonProperty(JSON_PROPERTY_PROBABILITY) + public Builder setProbability(VoIPProbabilityType probability) { + this.probability = OptionalValue.of(probability); + return this; + } + + @JsonProperty(JSON_PROPERTY_ERROR) + public Builder setError(LookupError error) { + this.error = OptionalValue.of(error); + return this; + } + + public VoIPDetectionResponse build() { + return new VoIPDetectionResponseImpl(probability, error); + } + } +} diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java new file mode 100644 index 000000000..73e834934 --- /dev/null +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java @@ -0,0 +1,44 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.sinch.sdk.core.utils.EnumDynamic; +import com.sinch.sdk.core.utils.EnumSupportDynamic; +import java.util.Arrays; +import java.util.stream.Stream; + +/** */ +public class VoIPProbabilityType extends EnumDynamic { + + /** Undefined */ + public static final VoIPProbabilityType UNKNOWN = new VoIPProbabilityType("Unknown"); + + /** Low */ + public static final VoIPProbabilityType LOW = new VoIPProbabilityType("Low"); + + /** Likely */ + public static final VoIPProbabilityType LIKELY = new VoIPProbabilityType("Likely"); + + /** High */ + public static final VoIPProbabilityType HIGH = new VoIPProbabilityType("High"); + + private static final EnumSupportDynamic ENUM_SUPPORT = + new EnumSupportDynamic<>( + VoIPProbabilityType.class, + VoIPProbabilityType::new, + Arrays.asList(UNKNOWN, LOW, LIKELY, HIGH)); + + private VoIPProbabilityType(String value) { + super(value); + } + + public static Stream values() { + return ENUM_SUPPORT.values(); + } + + public static VoIPProbabilityType from(String value) { + return ENUM_SUPPORT.from(value); + } + + public static String valueOf(VoIPProbabilityType e) { + return ENUM_SUPPORT.valueOf(e); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java new file mode 100644 index 000000000..84331947e --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java @@ -0,0 +1,51 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class LookupErrorDtoTest extends BaseTest { + + public static LookupError lookupErrorDto = + LookupError.builder() + .setStatus(100) + .setTitle("Feature Disabled") + .setDetail("VoIPDetection feature is currently disabled.") + .setType("validation_error") + .build(); + + public static LookupError lookupErrorEmptyDto = LookupError.builder().build(); + + @GivenTextResource("/domains/number_lookup/v2/errors/LookupErrorDto.json") + String jsonLookupErrorDto; + + @GivenTextResource("/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json") + String jsonLookupErrorEmptyDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(lookupErrorDto); + + JSONAssert.assertEquals(jsonLookupErrorDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + LookupError deserialized = objectMapper.readValue(jsonLookupErrorDto, LookupError.class); + + TestHelpers.recursiveEquals(deserialized, lookupErrorDto); + } + + @Test + void deserializeEmptyDto() throws JsonProcessingException { + LookupError deserialized = objectMapper.readValue(jsonLookupErrorEmptyDto, LookupError.class); + + TestHelpers.recursiveEquals(deserialized, lookupErrorEmptyDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java new file mode 100644 index 000000000..1a0f1d8f8 --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java @@ -0,0 +1,40 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.errors; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class ProblemDetailsDtoTest extends BaseTest { + + public static ProblemDetails problemDetailsDto = + ProblemDetails.builder() + .setType("https://developers.sinch.com/docs/lookup/api/errors/validation") + .setTitle("Validation error") + .setStatus(400) + .setTraceId("84c1fd4063c38d9f3900d06e56542d48") + .build(); + + @GivenTextResource("/domains/number_lookup/v2/errors/ProblemDetailsDto.json") + String jsonProblemDetailsDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(problemDetailsDto); + + JSONAssert.assertEquals(jsonProblemDetailsDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + ProblemDetails deserialized = + objectMapper.readValue(jsonProblemDetailsDto, ProblemDetails.class); + + TestHelpers.recursiveEquals(deserialized, problemDetailsDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java new file mode 100644 index 000000000..d5a7650f6 --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java @@ -0,0 +1,122 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import java.time.Instant; +import java.util.Arrays; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class NumberLookupRequestDtoTest extends BaseTest { + + public static NumberLookupRequest numberLookupRequestMinimalDto = + NumberLookupRequest.builder().setNumber("+15551234567").build(); + + public static NumberLookupRequest numberLookupRequestWithFeaturesDto = + NumberLookupRequest.builder() + .setNumber("+15552345678") + .setFeatures( + Arrays.asList( + LookupFeatureType.LINE_TYPE, + LookupFeatureType.SIM_SWAP, + LookupFeatureType.VO_IP_DETECTION)) + .build(); + + public static NumberLookupRequest numberLookupRequestWithRndOptionsDto = + NumberLookupRequest.builder() + .setNumber("+15553456789") + .setFeatures(Arrays.asList(LookupFeatureType.RND)) + .setRndFeatureOptions( + RndFeatureOptions.builder() + .setContactDate(Instant.parse("2025-01-01T00:00:00Z")) + .build()) + .build(); + + public static NumberLookupRequest numberLookupRequestAllFeaturesDto = + NumberLookupRequest.builder() + .setNumber("+15554567890") + .setFeatures( + Arrays.asList( + LookupFeatureType.LINE_TYPE, + LookupFeatureType.SIM_SWAP, + LookupFeatureType.VO_IP_DETECTION, + LookupFeatureType.RND)) + .build(); + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json") + String jsonNumberLookupRequestMinimalDto; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json") + String jsonNumberLookupRequestWithFeaturesDto; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") + String jsonNumberLookupRequestWithRndOptionsDto; + + @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json") + String jsonNumberLookupRequestAllFeaturesDto; + + @Test + void serializeMinimalDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(numberLookupRequestMinimalDto); + + JSONAssert.assertEquals(jsonNumberLookupRequestMinimalDto, serializedString, true); + } + + @Test + void deserializeMinimalDto() throws JsonProcessingException { + NumberLookupRequest deserialized = + objectMapper.readValue(jsonNumberLookupRequestMinimalDto, NumberLookupRequest.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupRequestMinimalDto); + } + + @Test + void serializeWithFeaturesDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(numberLookupRequestWithFeaturesDto); + + JSONAssert.assertEquals(jsonNumberLookupRequestWithFeaturesDto, serializedString, true); + } + + @Test + void deserializeWithFeaturesDto() throws JsonProcessingException { + NumberLookupRequest deserialized = + objectMapper.readValue(jsonNumberLookupRequestWithFeaturesDto, NumberLookupRequest.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupRequestWithFeaturesDto); + } + + @Test + void serializeWithRndOptionsDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(numberLookupRequestWithRndOptionsDto); + + JSONAssert.assertEquals(jsonNumberLookupRequestWithRndOptionsDto, serializedString, true); + } + + @Test + void deserializeWithRndOptionsDto() throws JsonProcessingException { + NumberLookupRequest deserialized = + objectMapper.readValue(jsonNumberLookupRequestWithRndOptionsDto, NumberLookupRequest.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupRequestWithRndOptionsDto); + } + + @Test + void serializeAllFeaturesDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(numberLookupRequestAllFeaturesDto); + + JSONAssert.assertEquals(jsonNumberLookupRequestAllFeaturesDto, serializedString, true); + } + + @Test + void deserializeAllFeaturesDto() throws JsonProcessingException { + NumberLookupRequest deserialized = + objectMapper.readValue(jsonNumberLookupRequestAllFeaturesDto, NumberLookupRequest.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupRequestAllFeaturesDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java new file mode 100644 index 000000000..e022906ed --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java @@ -0,0 +1,36 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.request; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import java.time.Instant; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class RndFeatureOptionsDtoTest extends BaseTest { + + public static RndFeatureOptions rndFeatureOptionsDto = + RndFeatureOptions.builder().setContactDate(Instant.parse("2025-01-15T00:00:00Z")).build(); + + @GivenTextResource("/domains/number_lookup/v2/request/RndFeatureOptionsDto.json") + String jsonRndFeatureOptionsDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(rndFeatureOptionsDto); + + JSONAssert.assertEquals(jsonRndFeatureOptionsDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + RndFeatureOptions deserialized = + objectMapper.readValue(jsonRndFeatureOptionsDto, RndFeatureOptions.class); + + TestHelpers.recursiveEquals(deserialized, rndFeatureOptionsDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java new file mode 100644 index 000000000..0f18eeb6e --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java @@ -0,0 +1,55 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import java.time.Instant; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class LineResponseDtoTest extends BaseTest { + + public static LineResponse lineResponseDto = + LineResponse.builder() + .setCarrier("T-Mobile USA") + .setType(LineType.MOBILE) + .setMobileCountryCode("310") + .setMobileNetworkCode("260") + .setPorted(true) + .setPortingDate(Instant.parse("2024-06-15T14:30:00Z")) + .build(); + + public static LineResponse lineResponseEmptyDto = LineResponse.builder().build(); + + @GivenTextResource("/domains/number_lookup/v2/response/LineResponseDto.json") + String jsonLineResponseDto; + + @GivenTextResource("/domains/number_lookup/v2/response/LineResponseEmptyDto.json") + String jsonLineResponseEmptyDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(lineResponseDto); + + JSONAssert.assertEquals(jsonLineResponseDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + LineResponse deserialized = objectMapper.readValue(jsonLineResponseDto, LineResponse.class); + + TestHelpers.recursiveEquals(deserialized, lineResponseDto); + } + + @Test + void deserializeEmptyDto() throws JsonProcessingException { + LineResponse deserialized = + objectMapper.readValue(jsonLineResponseEmptyDto, LineResponse.class); + + TestHelpers.recursiveEquals(deserialized, lineResponseEmptyDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java new file mode 100644 index 000000000..ee28b642c --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java @@ -0,0 +1,66 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import java.time.Instant; +import org.junit.jupiter.api.Test; + +@TestWithResources +public class NumberLookupResponseDtoTest extends BaseTest { + + public static NumberLookupResponse numberLookupResponseMinimalDto = + NumberLookupResponse.builder() + .setNumber("+15551234567") + .setCountryCode("US") + .setTraceId("test-trace-id") + .build(); + + public static NumberLookupResponse numberLookupResponseFullDto = + NumberLookupResponse.builder() + .setLine( + LineResponse.builder() + .setCarrier("T-Mobile USA") + .setType(LineType.MOBILE) + .setMobileCountryCode("310") + .setMobileNetworkCode("260") + .setPorted(true) + .setPortingDate(Instant.parse("2024-08-20T10:15:30Z")) + .build()) + .setSimSwap( + SimSwapResponse.builder() + .setSwapped(true) + .setSwapPeriod(SwapPeriodType.SP24_H) + .build()) + .setVoIPDetection( + VoIPDetectionResponse.builder().setProbability(VoIPProbabilityType.HIGH).build()) + .setRnd(RndResponse.builder().setDisconnected(true).build()) + .setCountryCode("US") + .setTraceId("84c1fd4063c38d9f3900d06e56542d48") + .setNumber("+15557890123") + .build(); + + @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json") + String jsonNumberLookupResponseMinimalDto; + + @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json") + String jsonNumberLookupResponseFullDto; + + @Test + void deserializeMinimalDto() throws JsonProcessingException { + NumberLookupResponse deserialized = + objectMapper.readValue(jsonNumberLookupResponseMinimalDto, NumberLookupResponse.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupResponseMinimalDto); + } + + @Test + void deserializeFullDto() throws JsonProcessingException { + NumberLookupResponse deserialized = + objectMapper.readValue(jsonNumberLookupResponseFullDto, NumberLookupResponse.class); + + TestHelpers.recursiveEquals(deserialized, numberLookupResponseFullDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java new file mode 100644 index 000000000..063874a34 --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java @@ -0,0 +1,45 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class RndResponseDtoTest extends BaseTest { + + public static RndResponse rndResponseDto = RndResponse.builder().setDisconnected(true).build(); + + public static RndResponse rndResponseEmptyDto = RndResponse.builder().build(); + + @GivenTextResource("/domains/number_lookup/v2/response/RndResponseDto.json") + String jsonRndResponseDto; + + @GivenTextResource("/domains/number_lookup/v2/response/RndResponseEmptyDto.json") + String jsonRndResponseEmptyDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(rndResponseDto); + + JSONAssert.assertEquals(jsonRndResponseDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + RndResponse deserialized = objectMapper.readValue(jsonRndResponseDto, RndResponse.class); + + TestHelpers.recursiveEquals(deserialized, rndResponseDto); + } + + @Test + void deserializeEmptyDto() throws JsonProcessingException { + RndResponse deserialized = objectMapper.readValue(jsonRndResponseEmptyDto, RndResponse.class); + + TestHelpers.recursiveEquals(deserialized, rndResponseEmptyDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java new file mode 100644 index 000000000..9fbf72049 --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java @@ -0,0 +1,64 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class SimSwapResponseDtoTest extends BaseTest { + + public static SimSwapResponse simSwapResponseDto = + SimSwapResponse.builder().setSwapped(true).setSwapPeriod(SwapPeriodType.SP24_H).build(); + + public static SimSwapResponse simSwapResponseWithErrorDto = + SimSwapResponse.builder() + .setError( + LookupError.builder() + .setStatus(100) + .setTitle("Feature Disabled") + .setDetail("SimSwap feature is currently disabled.") + .build()) + .build(); + + @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseDto.json") + String jsonSimSwapResponseDto; + + @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json") + String jsonSimSwapResponseWithErrorDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(simSwapResponseDto); + + JSONAssert.assertEquals(jsonSimSwapResponseDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + SimSwapResponse deserialized = + objectMapper.readValue(jsonSimSwapResponseDto, SimSwapResponse.class); + + TestHelpers.recursiveEquals(deserialized, simSwapResponseDto); + } + + @Test + void serializeWithErrorDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(simSwapResponseWithErrorDto); + + JSONAssert.assertEquals(jsonSimSwapResponseWithErrorDto, serializedString, true); + } + + @Test + void deserializeWithErrorDto() throws JsonProcessingException { + SimSwapResponse deserialized = + objectMapper.readValue(jsonSimSwapResponseWithErrorDto, SimSwapResponse.class); + + TestHelpers.recursiveEquals(deserialized, simSwapResponseWithErrorDto); + } +} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java new file mode 100644 index 000000000..3f7f0d217 --- /dev/null +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java @@ -0,0 +1,49 @@ +package com.sinch.sdk.domains.number_lookup.models.v2.response; + +import com.adelean.inject.resources.junit.jupiter.GivenTextResource; +import com.adelean.inject.resources.junit.jupiter.TestWithResources; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.sinch.sdk.BaseTest; +import com.sinch.sdk.core.TestHelpers; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.skyscreamer.jsonassert.JSONAssert; + +@TestWithResources +public class VoIPDetectionResponseDtoTest extends BaseTest { + + public static VoIPDetectionResponse voIPDetectionResponseDto = + VoIPDetectionResponse.builder().setProbability(VoIPProbabilityType.HIGH).build(); + + public static VoIPDetectionResponse voIPDetectionResponseEmptyDto = + VoIPDetectionResponse.builder().build(); + + @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json") + String jsonVoIPDetectionResponseDto; + + @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json") + String jsonVoIPDetectionResponseEmptyDto; + + @Test + void serializeDto() throws JsonProcessingException, JSONException { + String serializedString = objectMapper.writeValueAsString(voIPDetectionResponseDto); + + JSONAssert.assertEquals(jsonVoIPDetectionResponseDto, serializedString, true); + } + + @Test + void deserializeDto() throws JsonProcessingException { + VoIPDetectionResponse deserialized = + objectMapper.readValue(jsonVoIPDetectionResponseDto, VoIPDetectionResponse.class); + + TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseDto); + } + + @Test + void deserializeEmptyDto() throws JsonProcessingException { + VoIPDetectionResponse deserialized = + objectMapper.readValue(jsonVoIPDetectionResponseEmptyDto, VoIPDetectionResponse.class); + + TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseEmptyDto); + } +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json new file mode 100644 index 000000000..86220e9d1 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json @@ -0,0 +1,6 @@ +{ + "status": 100, + "title": "Feature Disabled", + "detail": "VoIPDetection feature is currently disabled.", + "type": "validation_error" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json @@ -0,0 +1 @@ +{} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json new file mode 100644 index 000000000..1e1590f3c --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json @@ -0,0 +1,6 @@ +{ + "type": "https://developers.sinch.com/docs/lookup/api/errors/validation", + "title": "Validation error", + "status": 400, + "traceId": "84c1fd4063c38d9f3900d06e56542d48" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json new file mode 100644 index 000000000..84b20c39e --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json @@ -0,0 +1,9 @@ +{ + "number": "+15554567890", + "features": [ + "LineType", + "SimSwap", + "VoIPDetection", + "RND" + ] +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json new file mode 100644 index 000000000..b190f89ba --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json @@ -0,0 +1,3 @@ +{ + "number": "+15551234567" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json new file mode 100644 index 000000000..33bad4262 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json @@ -0,0 +1,8 @@ +{ + "number": "+15552345678", + "features": [ + "LineType", + "SimSwap", + "VoIPDetection" + ] +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json new file mode 100644 index 000000000..32cebc8f2 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json @@ -0,0 +1,9 @@ +{ + "number": "+15553456789", + "features": [ + "RND" + ], + "rndFeatureOptions": { + "contactDate": "2025-01-01T00:00:00Z" + } +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json new file mode 100644 index 000000000..60f94c5a6 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json @@ -0,0 +1,3 @@ +{ + "contactDate": "2025-01-15T00:00:00Z" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json new file mode 100644 index 000000000..cc7ff9007 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json @@ -0,0 +1,8 @@ +{ + "carrier": "T-Mobile USA", + "type": "Mobile", + "mobileCountryCode": "310", + "mobileNetworkCode": "260", + "ported": true, + "portingDate": "2024-06-15T14:30:00Z" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json @@ -0,0 +1 @@ +{} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json new file mode 100644 index 000000000..b43781206 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json @@ -0,0 +1,23 @@ +{ + "line": { + "carrier": "T-Mobile USA", + "type": "Mobile", + "mobileCountryCode": "310", + "mobileNetworkCode": "260", + "ported": true, + "portingDate": "2024-08-20T10:15:30Z" + }, + "simSwap": { + "swapped": true, + "swapPeriod": "SP24H" + }, + "voIPDetection": { + "probability": "High" + }, + "rnd": { + "disconnected": true + }, + "countryCode": "US", + "traceId": "84c1fd4063c38d9f3900d06e56542d48", + "number": "+15557890123" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json new file mode 100644 index 000000000..d6334b7e9 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json @@ -0,0 +1,5 @@ +{ + "countryCode": "US", + "traceId": "test-trace-id", + "number": "+15551234567" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json new file mode 100644 index 000000000..29102b577 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json @@ -0,0 +1,3 @@ +{ + "disconnected": true +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json @@ -0,0 +1 @@ +{} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json new file mode 100644 index 000000000..9815704d5 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json @@ -0,0 +1,4 @@ +{ + "swapped": true, + "swapPeriod": "SP24H" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json new file mode 100644 index 000000000..4ef301ba4 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json @@ -0,0 +1,7 @@ +{ + "error": { + "status": 100, + "title": "Feature Disabled", + "detail": "SimSwap feature is currently disabled." + } +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json new file mode 100644 index 000000000..792988b4c --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json @@ -0,0 +1,3 @@ +{ + "probability": "High" +} diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json @@ -0,0 +1 @@ +{} diff --git a/pom.xml b/pom.xml index 656cd3dda..aebd470b6 100644 --- a/pom.xml +++ b/pom.xml @@ -262,6 +262,9 @@ openapi-contracts/src/test/resources + + sinch-sdk-mockserver + @@ -297,6 +300,7 @@ com.sinch.sdk.e2e.domains.sms.v1.SmsIT com.sinch.sdk.e2e.domains.voice.v1.VoiceIT com.sinch.sdk.e2e.domains.verification.v1.VerificationIT + com.sinch.sdk.e2e.domains.number_lookup.v2.NumberLookupIT From 12cc6e782f59b6545d6155ca40ea5a92d7d1437c Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Fri, 29 May 2026 09:47:17 +0200 Subject: [PATCH 2/6] Renamed endpoint to lookup --- client/src/main/com/sinch/sdk/SinchClient.java | 16 ++++++++-------- .../api/v2/NumberLookupService.java | 2 +- .../api/v2/adapters/NumberLookupService.java | 12 ++++++------ .../api/v2/adapters/NumberLookupServiceTest.java | 3 +-- .../v2/adapters/NumberLookupV2ServiceTest.java | 16 ++++++++-------- .../domains/number_lookup/v2/LookupsSteps.java | 6 +++--- .../api/v2/NumberLookupV2Service.java | 2 +- .../v2/adapters/NumberLookupV2ServiceImpl.java | 7 +++---- 8 files changed, 31 insertions(+), 33 deletions(-) diff --git a/client/src/main/com/sinch/sdk/SinchClient.java b/client/src/main/com/sinch/sdk/SinchClient.java index 59def7560..5ab63fb14 100644 --- a/client/src/main/com/sinch/sdk/SinchClient.java +++ b/client/src/main/com/sinch/sdk/SinchClient.java @@ -67,7 +67,7 @@ public class SinchClient { private volatile VerificationService verification; private volatile VoiceService voice; private volatile ConversationService conversation; - private volatile NumberLookupService numberLookup; + private volatile NumberLookupService lookup; private volatile HttpClientApache httpClient; /** @@ -362,15 +362,15 @@ public ConversationService conversation() { * @return Return instance onto Number Lookup API service * @since 2.1 */ - public NumberLookupService numberLookup() { - if (null == numberLookup) { + public NumberLookupService lookup() { + if (null == lookup) { synchronized (this) { - if (null == numberLookup) { - numberLookup = numberLookupInit(); + if (null == lookup) { + lookup = lookupInit(); } } } - return numberLookup; + return lookup; } private void checkConfiguration(Configuration configuration) throws NullPointerException { @@ -424,7 +424,7 @@ private ConversationService conversationInit() { this::getHttpClient); } - private NumberLookupService numberLookupInit() { + private NumberLookupService lookupInit() { return new com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService( getConfiguration().getUnifiedCredentials().orElse(null), getConfiguration().getNumberLookupContext().orElse(null), @@ -514,7 +514,7 @@ public void close() { verification = null; voice = null; conversation = null; - numberLookup = null; + lookup = null; if (local != null) { try { local.close(); diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java index bdf2b934a..bb799ba00 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java @@ -9,5 +9,5 @@ public interface NumberLookupService { * @return service instance for project * @since 2.1 */ - NumberLookupV2Service numberLookup(); + NumberLookupV2Service lookup(); } diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java index 5e2ca92a9..a8913c371 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java @@ -31,7 +31,7 @@ public class NumberLookupService private volatile String uriUUID; private volatile Map authManagers; - private volatile NumberLookupV2Service numberLookup; + private volatile NumberLookupV2Service lookup; public NumberLookupService( UnifiedCredentials credentials, @@ -45,12 +45,12 @@ public NumberLookupService( } @Override - public NumberLookupV2Service numberLookup() { - if (null == this.numberLookup) { + public NumberLookupV2Service lookup() { + if (null == this.lookup) { synchronized (this) { - if (null == this.numberLookup) { + if (null == this.lookup) { instanceLazyInit(); - this.numberLookup = + this.lookup = new NumberLookupV2ServiceImpl( httpClientSupplier.get(), context.getNumberLookupServer(), @@ -60,7 +60,7 @@ public NumberLookupV2Service numberLookup() { } } } - return this.numberLookup; + return this.lookup; } private void instanceLazyInit() { diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java index 45fa0c164..c68a25b09 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java @@ -10,7 +10,6 @@ class NumberLookupServiceTest { @Test void checkCredentialsNumberLookup() { - CredentialsValidationHelper.checkCredentials( - () -> httpClient, NumberLookupService::numberLookup); + CredentialsValidationHelper.checkCredentials(() -> httpClient, NumberLookupService::lookup); } } diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java index ef371a8b9..0ef877319 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java @@ -67,7 +67,7 @@ public void initMocks() { } @Test - void numberLookupWithRequiredParameters() throws ApiException { + void lookupWithRequiredParameters() throws ApiException { HttpRequest httpRequest = new HttpRequest( @@ -90,14 +90,14 @@ void numberLookupWithRequiredParameters() throws ApiException { .thenReturn(httpResponse); NumberLookupResponse response = - service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestMinimalDto); + service.lookup(NumberLookupRequestDtoTest.numberLookupRequestMinimalDto); TestHelpers.recursiveEquals( response, NumberLookupResponseDtoTest.numberLookupResponseMinimalDto); } @Test - void numberLookupWithFeatures() throws ApiException { + void lookupWithFeatures() throws ApiException { HttpRequest httpRequest = new HttpRequest( @@ -120,13 +120,13 @@ void numberLookupWithFeatures() throws ApiException { .thenReturn(httpResponse); NumberLookupResponse response = - service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestWithFeaturesDto); + service.lookup(NumberLookupRequestDtoTest.numberLookupRequestWithFeaturesDto); TestHelpers.recursiveEquals(response, NumberLookupResponseDtoTest.numberLookupResponseFullDto); } @Test - void numberLookupWithRndOptions() throws ApiException { + void lookupWithRndOptions() throws ApiException { HttpRequest httpRequest = new HttpRequest( @@ -149,13 +149,13 @@ void numberLookupWithRndOptions() throws ApiException { .thenReturn(httpResponse); NumberLookupResponse response = - service.numberLookup(NumberLookupRequestDtoTest.numberLookupRequestWithRndOptionsDto); + service.lookup(NumberLookupRequestDtoTest.numberLookupRequestWithRndOptionsDto); TestHelpers.recursiveEquals(response, NumberLookupResponseDtoTest.numberLookupResponseFullDto); } @Test - void numberLookupMissingProjectIdThrows() { + void lookupMissingProjectIdThrows() { NumberLookupV2Service serviceWithoutProjectId = new NumberLookupV2ServiceImpl( @@ -165,7 +165,7 @@ void numberLookupMissingProjectIdThrows() { Assertions.assertThrows( ApiException.class, () -> - serviceWithoutProjectId.numberLookup( + serviceWithoutProjectId.lookup( NumberLookupRequestDtoTest.numberLookupRequestMinimalDto)); Assertions.assertEquals(400, thrown.getCode()); diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java index 7ccd0784c..73647bd1f 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java @@ -28,14 +28,14 @@ public class LookupsSteps { @Given("the Number Lookup service is available") public void serviceAvailable() { - service = Config.getSinchClient().numberLookup().numberLookup(); + service = Config.getSinchClient().lookup().lookup(); Assertions.assertNotNull(service, "Number Lookup service is not available"); } @When("I send a request to lookup for a phone number with no additional features") public void lookupNoFeatures() { NumberLookupRequest request = NumberLookupRequest.builder().setNumber("+12016666666").build(); - lookupNoFeaturesResponse = service.numberLookup(request); + lookupNoFeaturesResponse = service.lookup(request); } @Then("the response contains the details of the phone number lookup with line details only") @@ -74,7 +74,7 @@ public void lookupAllFeatures() { .setContactDate(Instant.parse("2025-09-09T00:00:00Z")) .build()) .build(); - lookupAllFeaturesResponse = service.numberLookup(request); + lookupAllFeaturesResponse = service.lookup(request); } @Then("the response contains the details of the phone number lookup with all the features") diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java index cc63a9b7a..435f997fc 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java @@ -24,5 +24,5 @@ public interface NumberLookupV2Service { * @return NumberLookupResponse * @throws ApiException if fails to make API call */ - NumberLookupResponse numberLookup(NumberLookupRequest numberLookupRequest) throws ApiException; + NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) throws ApiException; } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java index 1b4e6ed82..8208583e4 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java @@ -58,10 +58,9 @@ public NumberLookupV2ServiceImpl( } @Override - public NumberLookupResponse numberLookup(NumberLookupRequest numberLookupRequest) - throws ApiException { + public NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) throws ApiException { - LOGGER.finest("[numberLookup]" + " " + "numberLookupRequest: " + numberLookupRequest); + LOGGER.finest("[lookup]" + " " + "numberLookupRequest: " + numberLookupRequest); HttpRequest httpRequest = numberLookupRequestBuilder(numberLookupRequest); HttpResponse response = @@ -85,7 +84,7 @@ private HttpRequest numberLookupRequestBuilder(NumberLookupRequest numberLookupR // verify the required parameter 'this.projectId' is set if (this.projectId == null) { throw new ApiException( - 400, "Missing the required parameter 'this.projectId' when calling numberLookup"); + 400, "Missing the required parameter 'this.projectId' when calling lookup"); } String localVarPath = From d50c04b8cf762a61d4fcd41624e38b02ea2c570b Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Tue, 2 Jun 2026 11:16:21 +0200 Subject: [PATCH 3/6] New sources generated for number-lookup --- .../number_lookup/NumberLookupService.java | 8 +++- .../api/v2/NumberLookupService.java | 8 +++- ...a => CredentialsValidationHelperTest.java} | 2 +- .../v2/adapters/NumberLookupServiceTest.java | 2 +- .../number_lookup/v2/LookupsSteps.java | 21 ++++---- .../ChannelSpecificContactMessage.java | 2 +- ...SpecificContactMessageMessageInternal.java | 2 +- .../adapters/NumberLookupV2ServiceImpl.java | 4 +- .../models/v2/request/RndFeatureOptions.java | 6 +-- .../v2/request/RndFeatureOptionsImpl.java | 14 +++--- .../response/{LineResponse.java => Line.java} | 10 ++-- .../{LineResponseImpl.java => LineImpl.java} | 30 ++++++------ .../v2/response/NumberLookupResponse.java | 16 +++---- .../v2/response/NumberLookupResponseImpl.java | 48 +++++++++---------- .../response/{RndResponse.java => Rnd.java} | 10 ++-- .../{RndResponseImpl.java => RndImpl.java} | 21 ++++---- .../{SimSwapResponse.java => SimSwap.java} | 10 ++-- ...SwapResponseImpl.java => SimSwapImpl.java} | 22 ++++----- ...ectionResponse.java => VoipDetection.java} | 10 ++-- ...sponseImpl.java => VoipDetectionImpl.java} | 20 ++++---- .../request/NumberLookupRequestDtoTest.java | 4 +- .../v2/request/RndFeatureOptionsDtoTest.java | 4 +- .../v2/response/LineResponseDtoTest.java | 11 ++--- .../response/NumberLookupResponseDtoTest.java | 8 ++-- .../v2/response/RndResponseDtoTest.java | 8 ++-- .../v2/response/SimSwapResponseDtoTest.java | 24 +++++----- .../VoIPDetectionResponseDtoTest.java | 22 ++++----- .../NumberLookupRequestWithRndOptionsDto.json | 2 +- .../v2/request/RndFeatureOptionsDto.json | 2 +- 29 files changed, 180 insertions(+), 171 deletions(-) rename client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/{CredentialsValidationHelper.java => CredentialsValidationHelperTest.java} (99%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{LineResponse.java => Line.java} (94%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{LineResponseImpl.java => LineImpl.java} (91%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{RndResponse.java => Rnd.java} (88%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{RndResponseImpl.java => RndImpl.java} (85%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{SimSwapResponse.java => SimSwap.java} (88%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{SimSwapResponseImpl.java => SimSwapImpl.java} (87%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{VoIPDetectionResponse.java => VoipDetection.java} (85%) rename openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/{VoIPDetectionResponseImpl.java => VoipDetectionImpl.java} (85%) diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java index 2e4ce7cd6..7d3be0897 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java @@ -1,6 +1,12 @@ package com.sinch.sdk.domains.number_lookup; -/** Number Lookup Service */ +/** + * Number Lookup Service + * + * @see https://developers.sinch.com/docs/number-lookup-api-v2 + * @since 2.1 + */ public interface NumberLookupService { /** diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java index bb799ba00..38b94faf5 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java @@ -1,6 +1,12 @@ package com.sinch.sdk.domains.number_lookup.api.v2; -/** Number Lookup Service V2 */ +/** + * Number Lookup Service V2 + * + * @see https://developers.sinch.com/docs/number-lookup-api-v2 + * @since 2.1 + */ public interface NumberLookupService { /** diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java similarity index 99% rename from client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java rename to client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java index 974bcbcba..322d2a863 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelper.java +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java @@ -11,7 +11,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; -class CredentialsValidationHelper { +class CredentialsValidationHelperTest { static ServerConfiguration oAuthServer = new ServerConfiguration("https://oauth.foo.url"); diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java index c68a25b09..1d497210a 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java @@ -10,6 +10,6 @@ class NumberLookupServiceTest { @Test void checkCredentialsNumberLookup() { - CredentialsValidationHelper.checkCredentials(() -> httpClient, NumberLookupService::lookup); + CredentialsValidationHelperTest.checkCredentials(() -> httpClient, NumberLookupService::lookup); } } diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java index 73647bd1f..acf4a38bd 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java @@ -6,17 +6,18 @@ import com.sinch.sdk.domains.number_lookup.models.v2.request.LookupFeatureType; import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; import com.sinch.sdk.domains.number_lookup.models.v2.request.RndFeatureOptions; -import com.sinch.sdk.domains.number_lookup.models.v2.response.LineResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.Line; import com.sinch.sdk.domains.number_lookup.models.v2.response.LineType; import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; -import com.sinch.sdk.domains.number_lookup.models.v2.response.RndResponse; -import com.sinch.sdk.domains.number_lookup.models.v2.response.SimSwapResponse; -import com.sinch.sdk.domains.number_lookup.models.v2.response.VoIPDetectionResponse; +import com.sinch.sdk.domains.number_lookup.models.v2.response.Rnd; +import com.sinch.sdk.domains.number_lookup.models.v2.response.SimSwap; +import com.sinch.sdk.domains.number_lookup.models.v2.response.VoipDetection; import com.sinch.sdk.e2e.Config; import io.cucumber.java.en.Given; import io.cucumber.java.en.Then; import io.cucumber.java.en.When; import java.time.Instant; +import java.time.LocalDate; import java.util.Arrays; import org.junit.jupiter.api.Assertions; @@ -47,7 +48,7 @@ public void lookupNoFeaturesResult() { .setCountryCode("US") .setTraceId("84c1fd4063c38d9f3900d06e56542d48") .setLine( - LineResponse.builder() + Line.builder() .setCarrier("T-Mobile USA") .setType(LineType.MOBILE) .setMobileCountryCode("310") @@ -71,7 +72,7 @@ public void lookupAllFeatures() { LookupFeatureType.VO_IP_DETECTION)) .setRndFeatureOptions( RndFeatureOptions.builder() - .setContactDate(Instant.parse("2025-09-09T00:00:00Z")) + .setContactDate(LocalDate.parse("2025-09-09")) .build()) .build(); lookupAllFeaturesResponse = service.lookup(request); @@ -107,7 +108,7 @@ public void lookupAllFeaturesResult() { .setCountryCode("US") .setTraceId("5c817a6b7351d80a6b1d8007e5c145b8") .setLine( - LineResponse.builder() + Line.builder() .setCarrier("AT&T") .setType(LineType.MOBILE) .setMobileCountryCode("310") @@ -115,9 +116,9 @@ public void lookupAllFeaturesResult() { .setPorted(true) .setPortingDate(Instant.parse("2010-08-07T23:45:49Z")) .build()) - .setSimSwap(SimSwapResponse.builder().setError(simSwapError).build()) - .setVoIPDetection(VoIPDetectionResponse.builder().setError(voIPDetectionError).build()) - .setRnd(RndResponse.builder().setError(rndError).build()) + .setSimSwap(SimSwap.builder().setError(simSwapError).build()) + .setVoIPDetection(VoipDetection.builder().setError(voIPDetectionError).build()) + .setRnd(Rnd.builder().setError(rndError).build()) .build(); TestHelpers.recursiveEquals(lookupAllFeaturesResponse, expected); diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/channelspecific/ChannelSpecificContactMessage.java b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/channelspecific/ChannelSpecificContactMessage.java index 74bebb7b3..2885f34a2 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/channelspecific/ChannelSpecificContactMessage.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/channelspecific/ChannelSpecificContactMessage.java @@ -54,7 +54,7 @@ public static String valueOf(MessageTypeEnum e) { MessageTypeEnum getMessageType(); /** - * Get message + * The message content. * * @return message */ diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/internal/ChannelSpecificContactMessageMessageInternal.java b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/internal/ChannelSpecificContactMessageMessageInternal.java index ca74a564f..a69f9a605 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/internal/ChannelSpecificContactMessageMessageInternal.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/conversation/models/v1/messages/types/internal/ChannelSpecificContactMessageMessageInternal.java @@ -54,7 +54,7 @@ public static String valueOf(MessageTypeEnum e) { MessageTypeEnum getMessageType(); /** - * Get message + * The message content. * * @return message */ diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java index 8208583e4..f0cc920d6 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java @@ -62,7 +62,7 @@ public NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) thro LOGGER.finest("[lookup]" + " " + "numberLookupRequest: " + numberLookupRequest); - HttpRequest httpRequest = numberLookupRequestBuilder(numberLookupRequest); + HttpRequest httpRequest = lookupRequestBuilder(numberLookupRequest); HttpResponse response = httpClient.invokeAPI( this.serverConfiguration, this.authManagersByOasSecuritySchemes, httpRequest); @@ -79,7 +79,7 @@ public NumberLookupResponse lookup(NumberLookupRequest numberLookupRequest) thro mapper.deserialize(response, new TypeReference>() {})); } - private HttpRequest numberLookupRequestBuilder(NumberLookupRequest numberLookupRequest) + private HttpRequest lookupRequestBuilder(NumberLookupRequest numberLookupRequest) throws ApiException { // verify the required parameter 'this.projectId' is set if (this.projectId == null) { diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java index 55a741fef..3d8557d0b 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java @@ -11,7 +11,7 @@ package com.sinch.sdk.domains.number_lookup.models.v2.request; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import java.time.Instant; +import java.time.LocalDate; /** RndFeatureOptions */ @JsonDeserialize(builder = RndFeatureOptionsImpl.Builder.class) @@ -22,7 +22,7 @@ public interface RndFeatureOptions { * * @return contactDate */ - Instant getContactDate(); + LocalDate getContactDate(); /** * Getting builder @@ -43,7 +43,7 @@ interface Builder { * @return Current builder * @see #getContactDate */ - Builder setContactDate(Instant contactDate); + Builder setContactDate(LocalDate contactDate); /** * Create instance diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java index 801bc7b4e..4feda2bd2 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.sinch.sdk.core.models.OptionalValue; -import java.time.Instant; +import java.time.LocalDate; import java.util.Objects; @JsonPropertyOrder({RndFeatureOptionsImpl.JSON_PROPERTY_CONTACT_DATE}) @@ -18,22 +18,22 @@ public class RndFeatureOptionsImpl implements RndFeatureOptions { public static final String JSON_PROPERTY_CONTACT_DATE = "contactDate"; - private OptionalValue contactDate; + private OptionalValue contactDate; public RndFeatureOptionsImpl() {} - protected RndFeatureOptionsImpl(OptionalValue contactDate) { + protected RndFeatureOptionsImpl(OptionalValue contactDate) { this.contactDate = contactDate; } @JsonIgnore - public Instant getContactDate() { + public LocalDate getContactDate() { return contactDate.orElse(null); } @JsonProperty(JSON_PROPERTY_CONTACT_DATE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue contactDate() { + public OptionalValue contactDate() { return contactDate; } @@ -76,10 +76,10 @@ private String toIndentedString(Object o) { @JsonPOJOBuilder(withPrefix = "set") static class Builder implements RndFeatureOptions.Builder { - OptionalValue contactDate = OptionalValue.empty(); + OptionalValue contactDate = OptionalValue.empty(); @JsonProperty(JSON_PROPERTY_CONTACT_DATE) - public Builder setContactDate(Instant contactDate) { + public Builder setContactDate(LocalDate contactDate) { this.contactDate = OptionalValue.of(contactDate); return this; } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java similarity index 94% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java index 2a0ac044f..0cda91f43 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java @@ -14,9 +14,9 @@ import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; import java.time.Instant; -/** LineResponse */ -@JsonDeserialize(builder = LineResponseImpl.Builder.class) -public interface LineResponse { +/** Line */ +@JsonDeserialize(builder = LineImpl.Builder.class) +public interface Line { /** * Name of the carrier. @@ -77,7 +77,7 @@ public interface LineResponse { * @return New Builder instance */ static Builder builder() { - return new LineResponseImpl.Builder(); + return new LineImpl.Builder(); } /** Dedicated Builder */ @@ -151,6 +151,6 @@ interface Builder { * * @return The instance build with current builder values */ - LineResponse build(); + Line build(); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java similarity index 91% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java index 0717a204c..da9e96014 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java @@ -12,17 +12,17 @@ import java.util.Objects; @JsonPropertyOrder({ - LineResponseImpl.JSON_PROPERTY_CARRIER, - LineResponseImpl.JSON_PROPERTY_TYPE, - LineResponseImpl.JSON_PROPERTY_MOBILE_COUNTRY_CODE, - LineResponseImpl.JSON_PROPERTY_MOBILE_NETWORK_CODE, - LineResponseImpl.JSON_PROPERTY_PORTED, - LineResponseImpl.JSON_PROPERTY_PORTING_DATE, - LineResponseImpl.JSON_PROPERTY_ERROR + LineImpl.JSON_PROPERTY_CARRIER, + LineImpl.JSON_PROPERTY_TYPE, + LineImpl.JSON_PROPERTY_MOBILE_COUNTRY_CODE, + LineImpl.JSON_PROPERTY_MOBILE_NETWORK_CODE, + LineImpl.JSON_PROPERTY_PORTED, + LineImpl.JSON_PROPERTY_PORTING_DATE, + LineImpl.JSON_PROPERTY_ERROR }) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) -public class LineResponseImpl implements LineResponse { +public class LineImpl implements Line { private static final long serialVersionUID = 1L; public static final String JSON_PROPERTY_CARRIER = "carrier"; @@ -53,9 +53,9 @@ public class LineResponseImpl implements LineResponse { private OptionalValue error; - public LineResponseImpl() {} + public LineImpl() {} - protected LineResponseImpl( + protected LineImpl( OptionalValue carrier, OptionalValue type, OptionalValue mobileCountryCode, @@ -158,7 +158,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - LineResponseImpl lineResponse = (LineResponseImpl) o; + LineImpl lineResponse = (LineImpl) o; return Objects.equals(this.carrier, lineResponse.carrier) && Objects.equals(this.type, lineResponse.type) && Objects.equals(this.mobileCountryCode, lineResponse.mobileCountryCode) @@ -177,7 +177,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class LineResponseImpl {\n"); + sb.append("class LineImpl {\n"); sb.append(" carrier: ").append(toIndentedString(carrier)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" mobileCountryCode: ").append(toIndentedString(mobileCountryCode)).append("\n"); @@ -200,7 +200,7 @@ private String toIndentedString(Object o) { } @JsonPOJOBuilder(withPrefix = "set") - static class Builder implements LineResponse.Builder { + static class Builder implements Line.Builder { OptionalValue carrier = OptionalValue.empty(); OptionalValue type = OptionalValue.empty(); OptionalValue mobileCountryCode = OptionalValue.empty(); @@ -251,8 +251,8 @@ public Builder setError(LookupError error) { return this; } - public LineResponse build() { - return new LineResponseImpl( + public Line build() { + return new LineImpl( carrier, type, mobileCountryCode, mobileNetworkCode, ported, portingDate, error); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java index 18ab8c808..71bb0bc8e 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java @@ -21,28 +21,28 @@ public interface NumberLookupResponse { * * @return line */ - LineResponse getLine(); + Line getLine(); /** * An object containing information about the SimSwap verification performed on the number. * * @return simSwap */ - SimSwapResponse getSimSwap(); + SimSwap getSimSwap(); /** * An object containing information about the VoIP detection performed on the number. * * @return voIPDetection */ - VoIPDetectionResponse getVoIPDetection(); + VoipDetection getVoIPDetection(); /** * An object containing information whether number is disconnected. * * @return rnd */ - RndResponse getRnd(); + Rnd getRnd(); /** * ISO 3166-1 alpha-2 two-letter country identifier @@ -84,7 +84,7 @@ interface Builder { * @return Current builder * @see #getLine */ - Builder setLine(LineResponse line); + Builder setLine(Line line); /** * see getter @@ -93,7 +93,7 @@ interface Builder { * @return Current builder * @see #getSimSwap */ - Builder setSimSwap(SimSwapResponse simSwap); + Builder setSimSwap(SimSwap simSwap); /** * see getter @@ -102,7 +102,7 @@ interface Builder { * @return Current builder * @see #getVoIPDetection */ - Builder setVoIPDetection(VoIPDetectionResponse voIPDetection); + Builder setVoIPDetection(VoipDetection voIPDetection); /** * see getter @@ -111,7 +111,7 @@ interface Builder { * @return Current builder * @see #getRnd */ - Builder setRnd(RndResponse rnd); + Builder setRnd(Rnd rnd); /** * see getter diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java index dc9274608..1150a0e9b 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java @@ -25,19 +25,19 @@ public class NumberLookupResponseImpl implements NumberLookupResponse { public static final String JSON_PROPERTY_LINE = "line"; - private OptionalValue line; + private OptionalValue line; public static final String JSON_PROPERTY_SIM_SWAP = "simSwap"; - private OptionalValue simSwap; + private OptionalValue simSwap; public static final String JSON_PROPERTY_VO_I_P_DETECTION = "voIPDetection"; - private OptionalValue voIPDetection; + private OptionalValue voIPDetection; public static final String JSON_PROPERTY_RND = "rnd"; - private OptionalValue rnd; + private OptionalValue rnd; public static final String JSON_PROPERTY_COUNTRY_CODE = "countryCode"; @@ -54,10 +54,10 @@ public class NumberLookupResponseImpl implements NumberLookupResponse { public NumberLookupResponseImpl() {} protected NumberLookupResponseImpl( - OptionalValue line, - OptionalValue simSwap, - OptionalValue voIPDetection, - OptionalValue rnd, + OptionalValue line, + OptionalValue simSwap, + OptionalValue voIPDetection, + OptionalValue rnd, OptionalValue countryCode, OptionalValue traceId, OptionalValue number) { @@ -71,46 +71,46 @@ protected NumberLookupResponseImpl( } @JsonIgnore - public LineResponse getLine() { + public Line getLine() { return line.orElse(null); } @JsonProperty(JSON_PROPERTY_LINE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue line() { + public OptionalValue line() { return line; } @JsonIgnore - public SimSwapResponse getSimSwap() { + public SimSwap getSimSwap() { return simSwap.orElse(null); } @JsonProperty(JSON_PROPERTY_SIM_SWAP) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue simSwap() { + public OptionalValue simSwap() { return simSwap; } @JsonIgnore - public VoIPDetectionResponse getVoIPDetection() { + public VoipDetection getVoIPDetection() { return voIPDetection.orElse(null); } @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue voIPDetection() { + public OptionalValue voIPDetection() { return voIPDetection; } @JsonIgnore - public RndResponse getRnd() { + public Rnd getRnd() { return rnd.orElse(null); } @JsonProperty(JSON_PROPERTY_RND) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue rnd() { + public OptionalValue rnd() { return rnd; } @@ -198,34 +198,34 @@ private String toIndentedString(Object o) { @JsonPOJOBuilder(withPrefix = "set") static class Builder implements NumberLookupResponse.Builder { - OptionalValue line = OptionalValue.empty(); - OptionalValue simSwap = OptionalValue.empty(); - OptionalValue voIPDetection = OptionalValue.empty(); - OptionalValue rnd = OptionalValue.empty(); + OptionalValue line = OptionalValue.empty(); + OptionalValue simSwap = OptionalValue.empty(); + OptionalValue voIPDetection = OptionalValue.empty(); + OptionalValue rnd = OptionalValue.empty(); OptionalValue countryCode = OptionalValue.empty(); OptionalValue traceId = OptionalValue.empty(); OptionalValue number = OptionalValue.empty(); @JsonProperty(JSON_PROPERTY_LINE) - public Builder setLine(LineResponse line) { + public Builder setLine(Line line) { this.line = OptionalValue.of(line); return this; } @JsonProperty(JSON_PROPERTY_SIM_SWAP) - public Builder setSimSwap(SimSwapResponse simSwap) { + public Builder setSimSwap(SimSwap simSwap) { this.simSwap = OptionalValue.of(simSwap); return this; } @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) - public Builder setVoIPDetection(VoIPDetectionResponse voIPDetection) { + public Builder setVoIPDetection(VoipDetection voIPDetection) { this.voIPDetection = OptionalValue.of(voIPDetection); return this; } @JsonProperty(JSON_PROPERTY_RND) - public Builder setRnd(RndResponse rnd) { + public Builder setRnd(Rnd rnd) { this.rnd = OptionalValue.of(rnd); return this; } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java similarity index 88% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java index d207aa08f..41695546e 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java @@ -13,9 +13,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; -/** RndResponse */ -@JsonDeserialize(builder = RndResponseImpl.Builder.class) -public interface RndResponse { +/** Rnd */ +@JsonDeserialize(builder = RndImpl.Builder.class) +public interface Rnd { /** * Provides information whether the number was disconnected after provided last contact date. @@ -37,7 +37,7 @@ public interface RndResponse { * @return New Builder instance */ static Builder builder() { - return new RndResponseImpl.Builder(); + return new RndImpl.Builder(); } /** Dedicated Builder */ @@ -66,6 +66,6 @@ interface Builder { * * @return The instance build with current builder values */ - RndResponse build(); + Rnd build(); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java similarity index 85% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java index 12223964f..9d19a8a95 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java @@ -10,13 +10,10 @@ import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; import java.util.Objects; -@JsonPropertyOrder({ - RndResponseImpl.JSON_PROPERTY_DISCONNECTED, - RndResponseImpl.JSON_PROPERTY_ERROR -}) +@JsonPropertyOrder({RndImpl.JSON_PROPERTY_DISCONNECTED, RndImpl.JSON_PROPERTY_ERROR}) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) -public class RndResponseImpl implements RndResponse { +public class RndImpl implements Rnd { private static final long serialVersionUID = 1L; public static final String JSON_PROPERTY_DISCONNECTED = "disconnected"; @@ -27,9 +24,9 @@ public class RndResponseImpl implements RndResponse { private OptionalValue error; - public RndResponseImpl() {} + public RndImpl() {} - protected RndResponseImpl(OptionalValue disconnected, OptionalValue error) { + protected RndImpl(OptionalValue disconnected, OptionalValue error) { this.disconnected = disconnected; this.error = error; } @@ -65,7 +62,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - RndResponseImpl rndResponse = (RndResponseImpl) o; + RndImpl rndResponse = (RndImpl) o; return Objects.equals(this.disconnected, rndResponse.disconnected) && Objects.equals(this.error, rndResponse.error); } @@ -78,7 +75,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class RndResponseImpl {\n"); + sb.append("class RndImpl {\n"); sb.append(" disconnected: ").append(toIndentedString(disconnected)).append("\n"); sb.append(" error: ").append(toIndentedString(error)).append("\n"); sb.append("}"); @@ -96,7 +93,7 @@ private String toIndentedString(Object o) { } @JsonPOJOBuilder(withPrefix = "set") - static class Builder implements RndResponse.Builder { + static class Builder implements Rnd.Builder { OptionalValue disconnected = OptionalValue.empty(); OptionalValue error = OptionalValue.empty(); @@ -112,8 +109,8 @@ public Builder setError(LookupError error) { return this; } - public RndResponse build() { - return new RndResponseImpl(disconnected, error); + public Rnd build() { + return new RndImpl(disconnected, error); } } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java similarity index 88% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java index af79a3eab..1d0c87b32 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java @@ -13,9 +13,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; -/** SimSwapResponse */ -@JsonDeserialize(builder = SimSwapResponseImpl.Builder.class) -public interface SimSwapResponse { +/** SimSwap */ +@JsonDeserialize(builder = SimSwapImpl.Builder.class) +public interface SimSwap { /** * Indicates whether SIM was changed. @@ -44,7 +44,7 @@ public interface SimSwapResponse { * @return New Builder instance */ static Builder builder() { - return new SimSwapResponseImpl.Builder(); + return new SimSwapImpl.Builder(); } /** Dedicated Builder */ @@ -82,6 +82,6 @@ interface Builder { * * @return The instance build with current builder values */ - SimSwapResponse build(); + SimSwap build(); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java similarity index 87% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java index 19142429a..7c0dd4603 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java @@ -11,13 +11,13 @@ import java.util.Objects; @JsonPropertyOrder({ - SimSwapResponseImpl.JSON_PROPERTY_SWAPPED, - SimSwapResponseImpl.JSON_PROPERTY_SWAP_PERIOD, - SimSwapResponseImpl.JSON_PROPERTY_ERROR + SimSwapImpl.JSON_PROPERTY_SWAPPED, + SimSwapImpl.JSON_PROPERTY_SWAP_PERIOD, + SimSwapImpl.JSON_PROPERTY_ERROR }) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) -public class SimSwapResponseImpl implements SimSwapResponse { +public class SimSwapImpl implements SimSwap { private static final long serialVersionUID = 1L; public static final String JSON_PROPERTY_SWAPPED = "swapped"; @@ -32,9 +32,9 @@ public class SimSwapResponseImpl implements SimSwapResponse { private OptionalValue error; - public SimSwapResponseImpl() {} + public SimSwapImpl() {} - protected SimSwapResponseImpl( + protected SimSwapImpl( OptionalValue swapped, OptionalValue swapPeriod, OptionalValue error) { @@ -85,7 +85,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - SimSwapResponseImpl simSwapResponse = (SimSwapResponseImpl) o; + SimSwapImpl simSwapResponse = (SimSwapImpl) o; return Objects.equals(this.swapped, simSwapResponse.swapped) && Objects.equals(this.swapPeriod, simSwapResponse.swapPeriod) && Objects.equals(this.error, simSwapResponse.error); @@ -99,7 +99,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class SimSwapResponseImpl {\n"); + sb.append("class SimSwapImpl {\n"); sb.append(" swapped: ").append(toIndentedString(swapped)).append("\n"); sb.append(" swapPeriod: ").append(toIndentedString(swapPeriod)).append("\n"); sb.append(" error: ").append(toIndentedString(error)).append("\n"); @@ -118,7 +118,7 @@ private String toIndentedString(Object o) { } @JsonPOJOBuilder(withPrefix = "set") - static class Builder implements SimSwapResponse.Builder { + static class Builder implements SimSwap.Builder { OptionalValue swapped = OptionalValue.empty(); OptionalValue swapPeriod = OptionalValue.empty(); OptionalValue error = OptionalValue.empty(); @@ -141,8 +141,8 @@ public Builder setError(LookupError error) { return this; } - public SimSwapResponse build() { - return new SimSwapResponseImpl(swapped, swapPeriod, error); + public SimSwap build() { + return new SimSwapImpl(swapped, swapPeriod, error); } } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java similarity index 85% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java index ab52b42eb..f59181b5d 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java @@ -13,9 +13,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; -/** VoIPDetectionResponse */ -@JsonDeserialize(builder = VoIPDetectionResponseImpl.Builder.class) -public interface VoIPDetectionResponse { +/** VoipDetection */ +@JsonDeserialize(builder = VoipDetectionImpl.Builder.class) +public interface VoipDetection { /** * Probability of number being VoIP based on the AI analysis. @@ -37,7 +37,7 @@ public interface VoIPDetectionResponse { * @return New Builder instance */ static Builder builder() { - return new VoIPDetectionResponseImpl.Builder(); + return new VoipDetectionImpl.Builder(); } /** Dedicated Builder */ @@ -66,6 +66,6 @@ interface Builder { * * @return The instance build with current builder values */ - VoIPDetectionResponse build(); + VoipDetection build(); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java similarity index 85% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java index 84d168cc4..9d5dd0c04 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java @@ -11,12 +11,12 @@ import java.util.Objects; @JsonPropertyOrder({ - VoIPDetectionResponseImpl.JSON_PROPERTY_PROBABILITY, - VoIPDetectionResponseImpl.JSON_PROPERTY_ERROR + VoipDetectionImpl.JSON_PROPERTY_PROBABILITY, + VoipDetectionImpl.JSON_PROPERTY_ERROR }) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) -public class VoIPDetectionResponseImpl implements VoIPDetectionResponse { +public class VoipDetectionImpl implements VoipDetection { private static final long serialVersionUID = 1L; public static final String JSON_PROPERTY_PROBABILITY = "probability"; @@ -27,9 +27,9 @@ public class VoIPDetectionResponseImpl implements VoIPDetectionResponse { private OptionalValue error; - public VoIPDetectionResponseImpl() {} + public VoipDetectionImpl() {} - protected VoIPDetectionResponseImpl( + protected VoipDetectionImpl( OptionalValue probability, OptionalValue error) { this.probability = probability; this.error = error; @@ -66,7 +66,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - VoIPDetectionResponseImpl voIPDetectionResponse = (VoIPDetectionResponseImpl) o; + VoipDetectionImpl voIPDetectionResponse = (VoipDetectionImpl) o; return Objects.equals(this.probability, voIPDetectionResponse.probability) && Objects.equals(this.error, voIPDetectionResponse.error); } @@ -79,7 +79,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class VoIPDetectionResponseImpl {\n"); + sb.append("class VoipDetectionImpl {\n"); sb.append(" probability: ").append(toIndentedString(probability)).append("\n"); sb.append(" error: ").append(toIndentedString(error)).append("\n"); sb.append("}"); @@ -97,7 +97,7 @@ private String toIndentedString(Object o) { } @JsonPOJOBuilder(withPrefix = "set") - static class Builder implements VoIPDetectionResponse.Builder { + static class Builder implements VoipDetection.Builder { OptionalValue probability = OptionalValue.empty(); OptionalValue error = OptionalValue.empty(); @@ -113,8 +113,8 @@ public Builder setError(LookupError error) { return this; } - public VoIPDetectionResponse build() { - return new VoIPDetectionResponseImpl(probability, error); + public VoipDetection build() { + return new VoipDetectionImpl(probability, error); } } } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java index d5a7650f6..eebd58b79 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.sinch.sdk.BaseTest; import com.sinch.sdk.core.TestHelpers; -import java.time.Instant; +import java.time.LocalDate; import java.util.Arrays; import org.json.JSONException; import org.junit.jupiter.api.Test; @@ -33,7 +33,7 @@ public class NumberLookupRequestDtoTest extends BaseTest { .setFeatures(Arrays.asList(LookupFeatureType.RND)) .setRndFeatureOptions( RndFeatureOptions.builder() - .setContactDate(Instant.parse("2025-01-01T00:00:00Z")) + .setContactDate(LocalDate.parse("2025-01-01")) .build()) .build(); diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java index e022906ed..63becd89d 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java @@ -5,7 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.sinch.sdk.BaseTest; import com.sinch.sdk.core.TestHelpers; -import java.time.Instant; +import java.time.LocalDate; import org.json.JSONException; import org.junit.jupiter.api.Test; import org.skyscreamer.jsonassert.JSONAssert; @@ -14,7 +14,7 @@ public class RndFeatureOptionsDtoTest extends BaseTest { public static RndFeatureOptions rndFeatureOptionsDto = - RndFeatureOptions.builder().setContactDate(Instant.parse("2025-01-15T00:00:00Z")).build(); + RndFeatureOptions.builder().setContactDate(LocalDate.parse("2025-01-15")).build(); @GivenTextResource("/domains/number_lookup/v2/request/RndFeatureOptionsDto.json") String jsonRndFeatureOptionsDto; diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java index 0f18eeb6e..3e135c545 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java @@ -13,8 +13,8 @@ @TestWithResources public class LineResponseDtoTest extends BaseTest { - public static LineResponse lineResponseDto = - LineResponse.builder() + public static Line lineResponseDto = + Line.builder() .setCarrier("T-Mobile USA") .setType(LineType.MOBILE) .setMobileCountryCode("310") @@ -23,7 +23,7 @@ public class LineResponseDtoTest extends BaseTest { .setPortingDate(Instant.parse("2024-06-15T14:30:00Z")) .build(); - public static LineResponse lineResponseEmptyDto = LineResponse.builder().build(); + public static Line lineResponseEmptyDto = Line.builder().build(); @GivenTextResource("/domains/number_lookup/v2/response/LineResponseDto.json") String jsonLineResponseDto; @@ -40,15 +40,14 @@ void serializeDto() throws JsonProcessingException, JSONException { @Test void deserializeDto() throws JsonProcessingException { - LineResponse deserialized = objectMapper.readValue(jsonLineResponseDto, LineResponse.class); + Line deserialized = objectMapper.readValue(jsonLineResponseDto, Line.class); TestHelpers.recursiveEquals(deserialized, lineResponseDto); } @Test void deserializeEmptyDto() throws JsonProcessingException { - LineResponse deserialized = - objectMapper.readValue(jsonLineResponseEmptyDto, LineResponse.class); + Line deserialized = objectMapper.readValue(jsonLineResponseEmptyDto, Line.class); TestHelpers.recursiveEquals(deserialized, lineResponseEmptyDto); } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java index ee28b642c..691a65d2b 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java @@ -21,7 +21,7 @@ public class NumberLookupResponseDtoTest extends BaseTest { public static NumberLookupResponse numberLookupResponseFullDto = NumberLookupResponse.builder() .setLine( - LineResponse.builder() + Line.builder() .setCarrier("T-Mobile USA") .setType(LineType.MOBILE) .setMobileCountryCode("310") @@ -30,13 +30,13 @@ public class NumberLookupResponseDtoTest extends BaseTest { .setPortingDate(Instant.parse("2024-08-20T10:15:30Z")) .build()) .setSimSwap( - SimSwapResponse.builder() + SimSwap.builder() .setSwapped(true) .setSwapPeriod(SwapPeriodType.SP24_H) .build()) .setVoIPDetection( - VoIPDetectionResponse.builder().setProbability(VoIPProbabilityType.HIGH).build()) - .setRnd(RndResponse.builder().setDisconnected(true).build()) + VoipDetection.builder().setProbability(VoIPProbabilityType.HIGH).build()) + .setRnd(Rnd.builder().setDisconnected(true).build()) .setCountryCode("US") .setTraceId("84c1fd4063c38d9f3900d06e56542d48") .setNumber("+15557890123") diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java index 063874a34..2594cf9e6 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java @@ -12,9 +12,9 @@ @TestWithResources public class RndResponseDtoTest extends BaseTest { - public static RndResponse rndResponseDto = RndResponse.builder().setDisconnected(true).build(); + public static Rnd rndResponseDto = Rnd.builder().setDisconnected(true).build(); - public static RndResponse rndResponseEmptyDto = RndResponse.builder().build(); + public static Rnd rndResponseEmptyDto = Rnd.builder().build(); @GivenTextResource("/domains/number_lookup/v2/response/RndResponseDto.json") String jsonRndResponseDto; @@ -31,14 +31,14 @@ void serializeDto() throws JsonProcessingException, JSONException { @Test void deserializeDto() throws JsonProcessingException { - RndResponse deserialized = objectMapper.readValue(jsonRndResponseDto, RndResponse.class); + Rnd deserialized = objectMapper.readValue(jsonRndResponseDto, Rnd.class); TestHelpers.recursiveEquals(deserialized, rndResponseDto); } @Test void deserializeEmptyDto() throws JsonProcessingException { - RndResponse deserialized = objectMapper.readValue(jsonRndResponseEmptyDto, RndResponse.class); + Rnd deserialized = objectMapper.readValue(jsonRndResponseEmptyDto, Rnd.class); TestHelpers.recursiveEquals(deserialized, rndResponseEmptyDto); } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java index 9fbf72049..dd1207b94 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java @@ -13,11 +13,11 @@ @TestWithResources public class SimSwapResponseDtoTest extends BaseTest { - public static SimSwapResponse simSwapResponseDto = - SimSwapResponse.builder().setSwapped(true).setSwapPeriod(SwapPeriodType.SP24_H).build(); + public static SimSwap simSwapResponseDto = + SimSwap.builder().setSwapped(true).setSwapPeriod(SwapPeriodType.SP24_H).build(); - public static SimSwapResponse simSwapResponseWithErrorDto = - SimSwapResponse.builder() + public static SimSwap simSwapResponseWithErrorDto = + SimSwap.builder() .setError( LookupError.builder() .setStatus(100) @@ -27,22 +27,22 @@ public class SimSwapResponseDtoTest extends BaseTest { .build(); @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseDto.json") - String jsonSimSwapResponseDto; + String jsonSimSwapDto; @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json") - String jsonSimSwapResponseWithErrorDto; + String jsonSimSwapWithErrorDto; @Test void serializeDto() throws JsonProcessingException, JSONException { String serializedString = objectMapper.writeValueAsString(simSwapResponseDto); - JSONAssert.assertEquals(jsonSimSwapResponseDto, serializedString, true); + JSONAssert.assertEquals(jsonSimSwapDto, serializedString, true); } @Test void deserializeDto() throws JsonProcessingException { - SimSwapResponse deserialized = - objectMapper.readValue(jsonSimSwapResponseDto, SimSwapResponse.class); + SimSwap deserialized = + objectMapper.readValue(jsonSimSwapDto, SimSwap.class); TestHelpers.recursiveEquals(deserialized, simSwapResponseDto); } @@ -51,13 +51,13 @@ void deserializeDto() throws JsonProcessingException { void serializeWithErrorDto() throws JsonProcessingException, JSONException { String serializedString = objectMapper.writeValueAsString(simSwapResponseWithErrorDto); - JSONAssert.assertEquals(jsonSimSwapResponseWithErrorDto, serializedString, true); + JSONAssert.assertEquals(jsonSimSwapWithErrorDto, serializedString, true); } @Test void deserializeWithErrorDto() throws JsonProcessingException { - SimSwapResponse deserialized = - objectMapper.readValue(jsonSimSwapResponseWithErrorDto, SimSwapResponse.class); + SimSwap deserialized = + objectMapper.readValue(jsonSimSwapWithErrorDto, SimSwap.class); TestHelpers.recursiveEquals(deserialized, simSwapResponseWithErrorDto); } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java index 3f7f0d217..a5efaf192 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java @@ -12,37 +12,37 @@ @TestWithResources public class VoIPDetectionResponseDtoTest extends BaseTest { - public static VoIPDetectionResponse voIPDetectionResponseDto = - VoIPDetectionResponse.builder().setProbability(VoIPProbabilityType.HIGH).build(); + public static VoipDetection voIPDetectionResponseDto = + VoipDetection.builder().setProbability(VoIPProbabilityType.HIGH).build(); - public static VoIPDetectionResponse voIPDetectionResponseEmptyDto = - VoIPDetectionResponse.builder().build(); + public static VoipDetection voIPDetectionResponseEmptyDto = + VoipDetection.builder().build(); @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json") - String jsonVoIPDetectionResponseDto; + String jsonVoipDetectionDto; @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json") - String jsonVoIPDetectionResponseEmptyDto; + String jsonVoipDetectionEmptyDto; @Test void serializeDto() throws JsonProcessingException, JSONException { String serializedString = objectMapper.writeValueAsString(voIPDetectionResponseDto); - JSONAssert.assertEquals(jsonVoIPDetectionResponseDto, serializedString, true); + JSONAssert.assertEquals(jsonVoipDetectionDto, serializedString, true); } @Test void deserializeDto() throws JsonProcessingException { - VoIPDetectionResponse deserialized = - objectMapper.readValue(jsonVoIPDetectionResponseDto, VoIPDetectionResponse.class); + VoipDetection deserialized = + objectMapper.readValue(jsonVoipDetectionDto, VoipDetection.class); TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseDto); } @Test void deserializeEmptyDto() throws JsonProcessingException { - VoIPDetectionResponse deserialized = - objectMapper.readValue(jsonVoIPDetectionResponseEmptyDto, VoIPDetectionResponse.class); + VoipDetection deserialized = + objectMapper.readValue(jsonVoipDetectionEmptyDto, VoipDetection.class); TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseEmptyDto); } diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json index 32cebc8f2..7ef54e3e4 100644 --- a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json @@ -4,6 +4,6 @@ "RND" ], "rndFeatureOptions": { - "contactDate": "2025-01-01T00:00:00Z" + "contactDate": "2025-01-01" } } diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json index 60f94c5a6..45a365f9c 100644 --- a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json +++ b/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json @@ -1,3 +1,3 @@ { - "contactDate": "2025-01-15T00:00:00Z" + "contactDate": "2025-01-15" } From 2a906beeb45ba0916552871e213697df050031c8 Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Thu, 4 Jun 2026 10:28:59 +0200 Subject: [PATCH 4/6] New lookupnumber api v2 sources generated --- .../src/main/com/sinch/sdk/SinchClient.java | 4 ++-- .../NumberLookupService.java | 4 ++-- .../adapters/NumberLookupService.java | 10 ++++---- .../api/v2/NumberLookupService.java | 2 +- .../api/v2/adapters/NumberLookupService.java | 6 ++--- .../api/v2/NumberLookupV2Service.java | 6 ++--- .../adapters/NumberLookupV2ServiceImpl.java | 8 +++---- .../models/v2/errors/LookupError.java | 2 +- .../models/v2/errors/LookupErrorImpl.java | 2 +- .../models/v2/errors/ProblemDetails.java | 2 +- .../models/v2/errors/ProblemDetailsImpl.java | 2 +- .../models/v2/request/LookupFeatureType.java | 2 +- .../v2/request/NumberLookupRequest.java | 2 +- .../v2/request/NumberLookupRequestImpl.java | 2 +- .../models/v2/request/RndFeatureOptions.java | 2 +- .../v2/request/RndFeatureOptionsImpl.java | 2 +- .../models/v2/response/Line.java | 4 ++-- .../models/v2/response/LineImpl.java | 4 ++-- .../models/v2/response/LineType.java | 2 +- .../v2/response/NumberLookupResponse.java | 6 ++--- .../v2/response/NumberLookupResponseImpl.java | 14 +++++------ .../models/v2/response/Rnd.java | 4 ++-- .../models/v2/response/RndImpl.java | 4 ++-- .../models/v2/response/SimSwap.java | 4 ++-- .../models/v2/response/SimSwapImpl.java | 4 ++-- .../models/v2/response/SwapPeriodType.java | 2 +- .../models/v2/response/VoIPDetection.java} | 14 +++++------ .../v2/response/VoIPDetectionImpl.java} | 24 +++++++++---------- .../v2/response/VoIPProbabilityType.java | 2 +- 29 files changed, 73 insertions(+), 73 deletions(-) rename client/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/NumberLookupService.java (74%) rename client/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/adapters/NumberLookupService.java (73%) rename client/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/NumberLookupService.java (87%) rename client/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/adapters/NumberLookupService.java (94%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/NumberLookupV2Service.java (74%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/adapters/NumberLookupV2ServiceImpl.java (92%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/LookupError.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/LookupErrorImpl.java (98%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/ProblemDetails.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/ProblemDetailsImpl.java (98%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/LookupFeatureType.java (95%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/NumberLookupRequest.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/NumberLookupRequestImpl.java (98%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/RndFeatureOptions.java (94%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/RndFeatureOptionsImpl.java (97%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/Line.java (95%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/LineImpl.java (98%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/LineType.java (95%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/NumberLookupResponse.java (94%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/NumberLookupResponseImpl.java (95%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/Rnd.java (90%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/RndImpl.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/SimSwap.java (91%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/SimSwapImpl.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/SwapPeriodType.java (96%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup/models/v2/response/VoipDetection.java => numberlookup/models/v2/response/VoIPDetection.java} (78%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup/models/v2/response/VoipDetectionImpl.java => numberlookup/models/v2/response/VoIPDetectionImpl.java} (83%) rename openapi-contracts/src/main/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/VoIPProbabilityType.java (95%) diff --git a/client/src/main/com/sinch/sdk/SinchClient.java b/client/src/main/com/sinch/sdk/SinchClient.java index 5ab63fb14..1612ea26a 100644 --- a/client/src/main/com/sinch/sdk/SinchClient.java +++ b/client/src/main/com/sinch/sdk/SinchClient.java @@ -2,7 +2,7 @@ import com.sinch.sdk.core.utils.StringUtil; import com.sinch.sdk.domains.conversation.ConversationService; -import com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService; +import com.sinch.sdk.domains.numberlookup.api.v2.adapters.NumberLookupService; import com.sinch.sdk.domains.numbers.NumbersService; import com.sinch.sdk.domains.sms.SMSService; import com.sinch.sdk.domains.verification.VerificationService; @@ -425,7 +425,7 @@ private ConversationService conversationInit() { } private NumberLookupService lookupInit() { - return new com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService( + return new com.sinch.sdk.domains.numberlookup.api.v2.adapters.NumberLookupService( getConfiguration().getUnifiedCredentials().orElse(null), getConfiguration().getNumberLookupContext().orElse(null), getConfiguration().getOAuthServer(), diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/numberlookup/NumberLookupService.java similarity index 74% rename from client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java rename to client/src/main/com/sinch/sdk/domains/numberlookup/NumberLookupService.java index 7d3be0897..0fbda1df4 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/numberlookup/NumberLookupService.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup; +package com.sinch.sdk.domains.numberlookup; /** * Number Lookup Service @@ -15,5 +15,5 @@ public interface NumberLookupService { * @return V2 service instance for project * @since 2.1 */ - com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2(); + com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupService v2(); } diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java similarity index 73% rename from client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java rename to client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java index 64e251b42..a1bf651bc 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/adapters/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.adapters; +package com.sinch.sdk.domains.numberlookup.adapters; import com.sinch.sdk.core.http.HttpClient; import com.sinch.sdk.core.models.ServerConfiguration; @@ -7,14 +7,14 @@ import java.util.function.Supplier; public class NumberLookupService - implements com.sinch.sdk.domains.number_lookup.NumberLookupService { + implements com.sinch.sdk.domains.numberlookup.NumberLookupService { private final UnifiedCredentials credentials; private final NumberLookupContext context; private final ServerConfiguration oAuthServer; private final Supplier httpClientSupplier; - private volatile com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2; + private volatile com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupService v2; public NumberLookupService( UnifiedCredentials credentials, @@ -28,12 +28,12 @@ public NumberLookupService( } @Override - public com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService v2() { + public com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupService v2() { if (null == this.v2) { synchronized (this) { if (null == this.v2) { this.v2 = - new com.sinch.sdk.domains.number_lookup.api.v2.adapters.NumberLookupService( + new com.sinch.sdk.domains.numberlookup.api.v2.adapters.NumberLookupService( credentials, context, oAuthServer, httpClientSupplier); } } diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupService.java similarity index 87% rename from client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java rename to client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupService.java index 38b94faf5..cfeb8b218 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupService.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.api.v2; +package com.sinch.sdk.domains.numberlookup.api.v2; /** * Number Lookup Service V2 diff --git a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupService.java similarity index 94% rename from client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java rename to client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupService.java index a8913c371..6a943c298 100644 --- a/client/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupService.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.api.v2.adapters; +package com.sinch.sdk.domains.numberlookup.api.v2.adapters; import com.sinch.sdk.auth.adapters.OAuthManager; import com.sinch.sdk.core.http.AuthManager; @@ -6,7 +6,7 @@ import com.sinch.sdk.core.http.HttpMapper; import com.sinch.sdk.core.models.ServerConfiguration; import com.sinch.sdk.core.utils.StringUtil; -import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service; import com.sinch.sdk.models.NumberLookupContext; import com.sinch.sdk.models.UnifiedCredentials; import java.util.AbstractMap; @@ -18,7 +18,7 @@ import java.util.stream.Stream; public class NumberLookupService - implements com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupService { + implements com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupService { private static final Logger LOGGER = Logger.getLogger(NumberLookupService.class.getName()); private static final String SECURITY_SCHEME_KEYWORD_NUMBER_LOOKUP = "OAuth2"; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupV2Service.java similarity index 74% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupV2Service.java index 435f997fc..9cf5d65e1 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/NumberLookupV2Service.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/NumberLookupV2Service.java @@ -8,11 +8,11 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.api.v2; +package com.sinch.sdk.domains.numberlookup.api.v2; import com.sinch.sdk.core.exceptions.ApiException; -import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; -import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse; /** NumberLookupV2 Service */ public interface NumberLookupV2Service { diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceImpl.java similarity index 92% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceImpl.java index f0cc920d6..6f74a84dd 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceImpl.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.api.v2.adapters; +package com.sinch.sdk.domains.numberlookup.api.v2.adapters; import com.fasterxml.jackson.core.type.TypeReference; import com.sinch.sdk.core.exceptions.ApiException; @@ -23,8 +23,8 @@ import com.sinch.sdk.core.http.URLParameter; import com.sinch.sdk.core.http.URLPathUtils; import com.sinch.sdk.core.models.ServerConfiguration; -import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; -import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -34,7 +34,7 @@ import java.util.logging.Logger; public class NumberLookupV2ServiceImpl - implements com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service { + implements com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service { private static final Logger LOGGER = Logger.getLogger(NumberLookupV2ServiceImpl.class.getName()); private final HttpClient httpClient; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupError.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupError.java index 6f60fa2d4..d6c42a708 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupError.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupError.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorImpl.java similarity index 98% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorImpl.java index e59febb5e..8501d0679 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetails.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetails.java index 3d32db539..db503a96a 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetails.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetails.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsImpl.java similarity index 98% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsImpl.java index 89efaa2d6..0ba6140b3 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/LookupFeatureType.java similarity index 95% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/LookupFeatureType.java index 4a33f1399..c93224cc9 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/LookupFeatureType.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/LookupFeatureType.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.sinch.sdk.core.utils.EnumDynamic; import com.sinch.sdk.core.utils.EnumSupportDynamic; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequest.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequest.java index 4c085f6ab..94d358a3b 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequest.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequest.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.util.List; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestImpl.java similarity index 98% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestImpl.java index 390de3851..53a6f397b 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptions.java similarity index 94% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptions.java index 3d8557d0b..0c120d1ec 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptions.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptions.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import java.time.LocalDate; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsImpl.java similarity index 97% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsImpl.java index 4feda2bd2..e4c1856b8 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Line.java similarity index 95% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Line.java index 0cda91f43..183787d36 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Line.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Line.java @@ -8,10 +8,10 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import java.time.Instant; /** Line */ diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineImpl.java similarity index 98% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineImpl.java index da9e96014..0cf94544b 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.sinch.sdk.core.models.OptionalValue; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import java.time.Instant; import java.util.Objects; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineType.java similarity index 95% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineType.java index 7b38d468a..7dc2cc9f4 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/LineType.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/LineType.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.sinch.sdk.core.utils.EnumDynamic; import com.sinch.sdk.core.utils.EnumSupportDynamic; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponse.java similarity index 94% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponse.java index 71bb0bc8e..cf692ca44 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponse.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponse.java @@ -8,7 +8,7 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -35,7 +35,7 @@ public interface NumberLookupResponse { * * @return voIPDetection */ - VoipDetection getVoIPDetection(); + VoIPDetection getVoIPDetection(); /** * An object containing information whether number is disconnected. @@ -102,7 +102,7 @@ interface Builder { * @return Current builder * @see #getVoIPDetection */ - Builder setVoIPDetection(VoipDetection voIPDetection); + Builder setVoIPDetection(VoIPDetection voIPDetection); /** * see getter diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseImpl.java similarity index 95% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseImpl.java index 1150a0e9b..a7168f17e 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -33,7 +33,7 @@ public class NumberLookupResponseImpl implements NumberLookupResponse { public static final String JSON_PROPERTY_VO_I_P_DETECTION = "voIPDetection"; - private OptionalValue voIPDetection; + private OptionalValue voIPDetection; public static final String JSON_PROPERTY_RND = "rnd"; @@ -56,7 +56,7 @@ public NumberLookupResponseImpl() {} protected NumberLookupResponseImpl( OptionalValue line, OptionalValue simSwap, - OptionalValue voIPDetection, + OptionalValue voIPDetection, OptionalValue rnd, OptionalValue countryCode, OptionalValue traceId, @@ -93,13 +93,13 @@ public OptionalValue simSwap() { } @JsonIgnore - public VoipDetection getVoIPDetection() { + public VoIPDetection getVoIPDetection() { return voIPDetection.orElse(null); } @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public OptionalValue voIPDetection() { + public OptionalValue voIPDetection() { return voIPDetection; } @@ -200,7 +200,7 @@ private String toIndentedString(Object o) { static class Builder implements NumberLookupResponse.Builder { OptionalValue line = OptionalValue.empty(); OptionalValue simSwap = OptionalValue.empty(); - OptionalValue voIPDetection = OptionalValue.empty(); + OptionalValue voIPDetection = OptionalValue.empty(); OptionalValue rnd = OptionalValue.empty(); OptionalValue countryCode = OptionalValue.empty(); OptionalValue traceId = OptionalValue.empty(); @@ -219,7 +219,7 @@ public Builder setSimSwap(SimSwap simSwap) { } @JsonProperty(JSON_PROPERTY_VO_I_P_DETECTION) - public Builder setVoIPDetection(VoipDetection voIPDetection) { + public Builder setVoIPDetection(VoIPDetection voIPDetection) { this.voIPDetection = OptionalValue.of(voIPDetection); return this; } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Rnd.java similarity index 90% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Rnd.java index 41695546e..28dfb1be8 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/Rnd.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/Rnd.java @@ -8,10 +8,10 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; /** Rnd */ @JsonDeserialize(builder = RndImpl.Builder.class) diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/RndImpl.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/RndImpl.java index 9d19a8a95..5b8d83a71 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/RndImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/RndImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.sinch.sdk.core.models.OptionalValue; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import java.util.Objects; @JsonPropertyOrder({RndImpl.JSON_PROPERTY_DISCONNECTED, RndImpl.JSON_PROPERTY_ERROR}) diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwap.java similarity index 91% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwap.java index 1d0c87b32..ad7872612 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwap.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwap.java @@ -8,10 +8,10 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; /** SimSwap */ @JsonDeserialize(builder = SimSwapImpl.Builder.class) diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapImpl.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapImpl.java index 7c0dd4603..e0ab9aab4 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.sinch.sdk.core.models.OptionalValue; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import java.util.Objects; @JsonPropertyOrder({ diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SwapPeriodType.java similarity index 96% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SwapPeriodType.java index 61e71d72e..c5a1de7b2 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/SwapPeriodType.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/SwapPeriodType.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.sinch.sdk.core.utils.EnumDynamic; import com.sinch.sdk.core.utils.EnumSupportDynamic; diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetection.java similarity index 78% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetection.java index f59181b5d..f5814dc5c 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetection.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetection.java @@ -8,14 +8,14 @@ * Do not edit the class manually. */ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; -/** VoipDetection */ -@JsonDeserialize(builder = VoipDetectionImpl.Builder.class) -public interface VoipDetection { +/** VoIPDetection */ +@JsonDeserialize(builder = VoIPDetectionImpl.Builder.class) +public interface VoIPDetection { /** * Probability of number being VoIP based on the AI analysis. @@ -37,7 +37,7 @@ public interface VoipDetection { * @return New Builder instance */ static Builder builder() { - return new VoipDetectionImpl.Builder(); + return new VoIPDetectionImpl.Builder(); } /** Dedicated Builder */ @@ -66,6 +66,6 @@ interface Builder { * * @return The instance build with current builder values */ - VoipDetection build(); + VoIPDetection build(); } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionImpl.java similarity index 83% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionImpl.java index 9d5dd0c04..e6ebe85d9 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoipDetectionImpl.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionImpl.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -7,16 +7,16 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder; import com.sinch.sdk.core.models.OptionalValue; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import java.util.Objects; @JsonPropertyOrder({ - VoipDetectionImpl.JSON_PROPERTY_PROBABILITY, - VoipDetectionImpl.JSON_PROPERTY_ERROR + VoIPDetectionImpl.JSON_PROPERTY_PROBABILITY, + VoIPDetectionImpl.JSON_PROPERTY_ERROR }) @JsonFilter("uninitializedFilter") @JsonInclude(value = JsonInclude.Include.CUSTOM) -public class VoipDetectionImpl implements VoipDetection { +public class VoIPDetectionImpl implements VoIPDetection { private static final long serialVersionUID = 1L; public static final String JSON_PROPERTY_PROBABILITY = "probability"; @@ -27,9 +27,9 @@ public class VoipDetectionImpl implements VoipDetection { private OptionalValue error; - public VoipDetectionImpl() {} + public VoIPDetectionImpl() {} - protected VoipDetectionImpl( + protected VoIPDetectionImpl( OptionalValue probability, OptionalValue error) { this.probability = probability; this.error = error; @@ -66,7 +66,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - VoipDetectionImpl voIPDetectionResponse = (VoipDetectionImpl) o; + VoIPDetectionImpl voIPDetectionResponse = (VoIPDetectionImpl) o; return Objects.equals(this.probability, voIPDetectionResponse.probability) && Objects.equals(this.error, voIPDetectionResponse.error); } @@ -79,7 +79,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class VoipDetectionImpl {\n"); + sb.append("class VoIPDetectionImpl {\n"); sb.append(" probability: ").append(toIndentedString(probability)).append("\n"); sb.append(" error: ").append(toIndentedString(error)).append("\n"); sb.append("}"); @@ -97,7 +97,7 @@ private String toIndentedString(Object o) { } @JsonPOJOBuilder(withPrefix = "set") - static class Builder implements VoipDetection.Builder { + static class Builder implements VoIPDetection.Builder { OptionalValue probability = OptionalValue.empty(); OptionalValue error = OptionalValue.empty(); @@ -113,8 +113,8 @@ public Builder setError(LookupError error) { return this; } - public VoipDetection build() { - return new VoipDetectionImpl(probability, error); + public VoIPDetection build() { + return new VoIPDetectionImpl(probability, error); } } } diff --git a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPProbabilityType.java similarity index 95% rename from openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java rename to openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPProbabilityType.java index 73e834934..d6e81a332 100644 --- a/openapi-contracts/src/main/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPProbabilityType.java +++ b/openapi-contracts/src/main/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPProbabilityType.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.sinch.sdk.core.utils.EnumDynamic; import com.sinch.sdk.core.utils.EnumSupportDynamic; From e65cbd180f1ba9415473d913886d11e91a62928a Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Thu, 4 Jun 2026 10:57:11 +0200 Subject: [PATCH 5/6] Renamed tests to numberlookup --- .../adapters/NumberLookupService.java | 3 +- .../CredentialsValidationHelperTest.java | 2 +- .../v2/adapters/NumberLookupServiceTest.java | 2 +- .../adapters/NumberLookupV2ServiceTest.java | 20 ++++++------- .../v2/LookupsSteps.java | 30 +++++++++---------- .../v2/NumberLookupIT.java | 4 +-- .../models/v2/errors/LookupErrorDtoTest.java | 6 ++-- .../v2/errors/ProblemDetailsDtoTest.java | 4 +-- .../request/NumberLookupRequestDtoTest.java | 14 ++++----- .../v2/request/RndFeatureOptionsDtoTest.java | 4 +-- .../v2/response/LineResponseDtoTest.java | 6 ++-- .../response/NumberLookupResponseDtoTest.java | 13 ++++---- .../v2/response/RndResponseDtoTest.java | 6 ++-- .../v2/response/SimSwapResponseDtoTest.java | 14 ++++----- .../VoIPDetectionResponseDtoTest.java | 26 ++++++++-------- .../v2/errors/LookupErrorDto.json | 0 .../v2/errors/LookupErrorEmptyDto.json | 0 .../v2/errors/ProblemDetailsDto.json | 0 .../NumberLookupRequestAllFeaturesDto.json | 0 .../NumberLookupRequestMinimalDto.json | 0 .../NumberLookupRequestWithFeaturesDto.json | 0 .../NumberLookupRequestWithRndOptionsDto.json | 0 .../v2/request/RndFeatureOptionsDto.json | 0 .../v2/response/LineResponseDto.json | 0 .../v2/response/LineResponseEmptyDto.json | 0 .../response/NumberLookupResponseFullDto.json | 0 .../NumberLookupResponseMinimalDto.json | 0 .../v2/response/RndResponseDto.json | 0 .../v2/response/RndResponseEmptyDto.json | 0 .../v2/response/SimSwapResponseDto.json | 0 .../response/SimSwapResponseWithErrorDto.json | 0 .../v2/response/VoIPDetectionResponseDto.json | 0 .../VoIPDetectionResponseEmptyDto.json | 0 pom.xml | 2 +- 34 files changed, 72 insertions(+), 84 deletions(-) rename client/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/adapters/CredentialsValidationHelperTest.java (98%) rename client/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/adapters/NumberLookupServiceTest.java (84%) rename client/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/api/v2/adapters/NumberLookupV2ServiceTest.java (86%) rename client/src/test/java/com/sinch/sdk/e2e/domains/{number_lookup => numberlookup}/v2/LookupsSteps.java (78%) rename client/src/test/java/com/sinch/sdk/e2e/domains/{number_lookup => numberlookup}/v2/NumberLookupIT.java (83%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/LookupErrorDtoTest.java (87%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/errors/ProblemDetailsDtoTest.java (90%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/NumberLookupRequestDtoTest.java (87%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/request/RndFeatureOptionsDtoTest.java (88%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/LineResponseDtoTest.java (87%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/NumberLookupResponseDtoTest.java (81%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/RndResponseDtoTest.java (85%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/SimSwapResponseDtoTest.java (78%) rename openapi-contracts/src/test/java/com/sinch/sdk/domains/{number_lookup => numberlookup}/models/v2/response/VoIPDetectionResponseDtoTest.java (54%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/errors/LookupErrorDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/errors/LookupErrorEmptyDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/errors/ProblemDetailsDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/request/NumberLookupRequestAllFeaturesDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/request/NumberLookupRequestMinimalDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/request/NumberLookupRequestWithFeaturesDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/request/NumberLookupRequestWithRndOptionsDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/request/RndFeatureOptionsDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/LineResponseDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/LineResponseEmptyDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/NumberLookupResponseFullDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/NumberLookupResponseMinimalDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/RndResponseDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/RndResponseEmptyDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/SimSwapResponseDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/SimSwapResponseWithErrorDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/VoIPDetectionResponseDto.json (100%) rename openapi-contracts/src/test/resources/domains/{number_lookup => numberlookup}/v2/response/VoIPDetectionResponseEmptyDto.json (100%) diff --git a/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java b/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java index a1bf651bc..4e21d9ac8 100644 --- a/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java +++ b/client/src/main/com/sinch/sdk/domains/numberlookup/adapters/NumberLookupService.java @@ -6,8 +6,7 @@ import com.sinch.sdk.models.UnifiedCredentials; import java.util.function.Supplier; -public class NumberLookupService - implements com.sinch.sdk.domains.numberlookup.NumberLookupService { +public class NumberLookupService implements com.sinch.sdk.domains.numberlookup.NumberLookupService { private final UnifiedCredentials credentials; private final NumberLookupContext context; diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java similarity index 98% rename from client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java rename to client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java index 322d2a863..da8c10c19 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/CredentialsValidationHelperTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.api.v2.adapters; +package com.sinch.sdk.domains.numberlookup.api.v2.adapters; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertThrows; diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java similarity index 84% rename from client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java rename to client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java index 1d497210a..f761d1702 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.api.v2.adapters; +package com.sinch.sdk.domains.numberlookup.api.v2.adapters; import com.sinch.sdk.core.http.HttpClient; import org.junit.jupiter.api.Test; diff --git a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceTest.java similarity index 86% rename from client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java rename to client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceTest.java index 0ef877319..9aeaa5312 100644 --- a/client/src/test/java/com/sinch/sdk/domains/number_lookup/api/v2/adapters/NumberLookupV2ServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupV2ServiceTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.api.v2.adapters; +package com.sinch.sdk.domains.numberlookup.api.v2.adapters; import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.eq; @@ -19,10 +19,10 @@ import com.sinch.sdk.core.http.HttpResponse; import com.sinch.sdk.core.http.URLPathUtils; import com.sinch.sdk.core.models.ServerConfiguration; -import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; -import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequestDtoTest; -import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; -import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponseDtoTest; +import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequestDtoTest; +import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponseDtoTest; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -44,19 +44,19 @@ public class NumberLookupV2ServiceTest extends BaseTest { NumberLookupV2Service service; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestMinimalDto.json") String jsonNumberLookupRequestMinimalDto; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestWithFeaturesDto.json") String jsonNumberLookupRequestWithFeaturesDto; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") String jsonNumberLookupRequestWithRndOptionsDto; - @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/NumberLookupResponseMinimalDto.json") String jsonNumberLookupResponseMinimalDto; - @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/NumberLookupResponseFullDto.json") String jsonNumberLookupResponseFullDto; @BeforeEach diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java b/client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/LookupsSteps.java similarity index 78% rename from client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java rename to client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/LookupsSteps.java index acf4a38bd..0423e77da 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/LookupsSteps.java +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/LookupsSteps.java @@ -1,17 +1,17 @@ -package com.sinch.sdk.e2e.domains.number_lookup.v2; +package com.sinch.sdk.e2e.domains.numberlookup.v2; import com.sinch.sdk.core.TestHelpers; -import com.sinch.sdk.domains.number_lookup.api.v2.NumberLookupV2Service; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; -import com.sinch.sdk.domains.number_lookup.models.v2.request.LookupFeatureType; -import com.sinch.sdk.domains.number_lookup.models.v2.request.NumberLookupRequest; -import com.sinch.sdk.domains.number_lookup.models.v2.request.RndFeatureOptions; -import com.sinch.sdk.domains.number_lookup.models.v2.response.Line; -import com.sinch.sdk.domains.number_lookup.models.v2.response.LineType; -import com.sinch.sdk.domains.number_lookup.models.v2.response.NumberLookupResponse; -import com.sinch.sdk.domains.number_lookup.models.v2.response.Rnd; -import com.sinch.sdk.domains.number_lookup.models.v2.response.SimSwap; -import com.sinch.sdk.domains.number_lookup.models.v2.response.VoipDetection; +import com.sinch.sdk.domains.numberlookup.api.v2.NumberLookupV2Service; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.request.LookupFeatureType; +import com.sinch.sdk.domains.numberlookup.models.v2.request.NumberLookupRequest; +import com.sinch.sdk.domains.numberlookup.models.v2.request.RndFeatureOptions; +import com.sinch.sdk.domains.numberlookup.models.v2.response.Line; +import com.sinch.sdk.domains.numberlookup.models.v2.response.LineType; +import com.sinch.sdk.domains.numberlookup.models.v2.response.NumberLookupResponse; +import com.sinch.sdk.domains.numberlookup.models.v2.response.Rnd; +import com.sinch.sdk.domains.numberlookup.models.v2.response.SimSwap; +import com.sinch.sdk.domains.numberlookup.models.v2.response.VoIPDetection; import com.sinch.sdk.e2e.Config; import io.cucumber.java.en.Given; import io.cucumber.java.en.Then; @@ -71,9 +71,7 @@ public void lookupAllFeatures() { LookupFeatureType.SIM_SWAP, LookupFeatureType.VO_IP_DETECTION)) .setRndFeatureOptions( - RndFeatureOptions.builder() - .setContactDate(LocalDate.parse("2025-09-09")) - .build()) + RndFeatureOptions.builder().setContactDate(LocalDate.parse("2025-09-09")).build()) .build(); lookupAllFeaturesResponse = service.lookup(request); } @@ -117,7 +115,7 @@ public void lookupAllFeaturesResult() { .setPortingDate(Instant.parse("2010-08-07T23:45:49Z")) .build()) .setSimSwap(SimSwap.builder().setError(simSwapError).build()) - .setVoIPDetection(VoipDetection.builder().setError(voIPDetectionError).build()) + .setVoIPDetection(VoIPDetection.builder().setError(voIPDetectionError).build()) .setRnd(Rnd.builder().setError(rndError).build()) .build(); diff --git a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java b/client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/NumberLookupIT.java similarity index 83% rename from client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java rename to client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/NumberLookupIT.java index ac53e38a2..668d5466a 100644 --- a/client/src/test/java/com/sinch/sdk/e2e/domains/number_lookup/v2/NumberLookupIT.java +++ b/client/src/test/java/com/sinch/sdk/e2e/domains/numberlookup/v2/NumberLookupIT.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.e2e.domains.number_lookup.v2; +package com.sinch.sdk.e2e.domains.numberlookup.v2; import static io.cucumber.junit.platform.engine.Constants.GLUE_PROPERTY_NAME; @@ -14,5 +14,5 @@ @SelectClasspathResource("features/number-lookup") @ConfigurationParameter( key = GLUE_PROPERTY_NAME, - value = "com.sinch.sdk.e2e.domains.number_lookup.v2") + value = "com.sinch.sdk.e2e.domains.numberlookup.v2") public class NumberLookupIT {} diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java similarity index 87% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java index 84331947e..a50832233 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/LookupErrorDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -22,10 +22,10 @@ public class LookupErrorDtoTest extends BaseTest { public static LookupError lookupErrorEmptyDto = LookupError.builder().build(); - @GivenTextResource("/domains/number_lookup/v2/errors/LookupErrorDto.json") + @GivenTextResource("/domains/numberlookup/v2/errors/LookupErrorDto.json") String jsonLookupErrorDto; - @GivenTextResource("/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json") + @GivenTextResource("/domains/numberlookup/v2/errors/LookupErrorEmptyDto.json") String jsonLookupErrorEmptyDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java similarity index 90% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java index 1a0f1d8f8..ea294f424 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/errors/ProblemDetailsDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.errors; +package com.sinch.sdk.domains.numberlookup.models.v2.errors; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -20,7 +20,7 @@ public class ProblemDetailsDtoTest extends BaseTest { .setTraceId("84c1fd4063c38d9f3900d06e56542d48") .build(); - @GivenTextResource("/domains/number_lookup/v2/errors/ProblemDetailsDto.json") + @GivenTextResource("/domains/numberlookup/v2/errors/ProblemDetailsDto.json") String jsonProblemDetailsDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestDtoTest.java similarity index 87% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestDtoTest.java index eebd58b79..8d20f0465 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/NumberLookupRequestDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/NumberLookupRequestDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -32,9 +32,7 @@ public class NumberLookupRequestDtoTest extends BaseTest { .setNumber("+15553456789") .setFeatures(Arrays.asList(LookupFeatureType.RND)) .setRndFeatureOptions( - RndFeatureOptions.builder() - .setContactDate(LocalDate.parse("2025-01-01")) - .build()) + RndFeatureOptions.builder().setContactDate(LocalDate.parse("2025-01-01")).build()) .build(); public static NumberLookupRequest numberLookupRequestAllFeaturesDto = @@ -48,16 +46,16 @@ public class NumberLookupRequestDtoTest extends BaseTest { LookupFeatureType.RND)) .build(); - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestMinimalDto.json") String jsonNumberLookupRequestMinimalDto; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestWithFeaturesDto.json") String jsonNumberLookupRequestWithFeaturesDto; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestWithRndOptionsDto.json") String jsonNumberLookupRequestWithRndOptionsDto; - @GivenTextResource("/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/NumberLookupRequestAllFeaturesDto.json") String jsonNumberLookupRequestAllFeaturesDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsDtoTest.java similarity index 88% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsDtoTest.java index 63becd89d..305d7d031 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/request/RndFeatureOptionsDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/request/RndFeatureOptionsDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.request; +package com.sinch.sdk.domains.numberlookup.models.v2.request; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -16,7 +16,7 @@ public class RndFeatureOptionsDtoTest extends BaseTest { public static RndFeatureOptions rndFeatureOptionsDto = RndFeatureOptions.builder().setContactDate(LocalDate.parse("2025-01-15")).build(); - @GivenTextResource("/domains/number_lookup/v2/request/RndFeatureOptionsDto.json") + @GivenTextResource("/domains/numberlookup/v2/request/RndFeatureOptionsDto.json") String jsonRndFeatureOptionsDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/LineResponseDtoTest.java similarity index 87% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/LineResponseDtoTest.java index 3e135c545..b16e73c01 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/LineResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/LineResponseDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -25,10 +25,10 @@ public class LineResponseDtoTest extends BaseTest { public static Line lineResponseEmptyDto = Line.builder().build(); - @GivenTextResource("/domains/number_lookup/v2/response/LineResponseDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/LineResponseDto.json") String jsonLineResponseDto; - @GivenTextResource("/domains/number_lookup/v2/response/LineResponseEmptyDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/LineResponseEmptyDto.json") String jsonLineResponseEmptyDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseDtoTest.java similarity index 81% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseDtoTest.java index 691a65d2b..1aa55dbc4 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/NumberLookupResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/NumberLookupResponseDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -30,22 +30,19 @@ public class NumberLookupResponseDtoTest extends BaseTest { .setPortingDate(Instant.parse("2024-08-20T10:15:30Z")) .build()) .setSimSwap( - SimSwap.builder() - .setSwapped(true) - .setSwapPeriod(SwapPeriodType.SP24_H) - .build()) + SimSwap.builder().setSwapped(true).setSwapPeriod(SwapPeriodType.SP24_H).build()) .setVoIPDetection( - VoipDetection.builder().setProbability(VoIPProbabilityType.HIGH).build()) + VoIPDetection.builder().setProbability(VoIPProbabilityType.HIGH).build()) .setRnd(Rnd.builder().setDisconnected(true).build()) .setCountryCode("US") .setTraceId("84c1fd4063c38d9f3900d06e56542d48") .setNumber("+15557890123") .build(); - @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/NumberLookupResponseMinimalDto.json") String jsonNumberLookupResponseMinimalDto; - @GivenTextResource("/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/NumberLookupResponseFullDto.json") String jsonNumberLookupResponseFullDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/RndResponseDtoTest.java similarity index 85% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/RndResponseDtoTest.java index 2594cf9e6..36f25d8e4 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/RndResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/RndResponseDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -16,10 +16,10 @@ public class RndResponseDtoTest extends BaseTest { public static Rnd rndResponseEmptyDto = Rnd.builder().build(); - @GivenTextResource("/domains/number_lookup/v2/response/RndResponseDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/RndResponseDto.json") String jsonRndResponseDto; - @GivenTextResource("/domains/number_lookup/v2/response/RndResponseEmptyDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/RndResponseEmptyDto.json") String jsonRndResponseEmptyDto; @Test diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapResponseDtoTest.java similarity index 78% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapResponseDtoTest.java index dd1207b94..ff7a6d510 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/SimSwapResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/SimSwapResponseDtoTest.java @@ -1,11 +1,11 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; import com.fasterxml.jackson.core.JsonProcessingException; import com.sinch.sdk.BaseTest; import com.sinch.sdk.core.TestHelpers; -import com.sinch.sdk.domains.number_lookup.models.v2.errors.LookupError; +import com.sinch.sdk.domains.numberlookup.models.v2.errors.LookupError; import org.json.JSONException; import org.junit.jupiter.api.Test; import org.skyscreamer.jsonassert.JSONAssert; @@ -26,10 +26,10 @@ public class SimSwapResponseDtoTest extends BaseTest { .build()) .build(); - @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/SimSwapResponseDto.json") String jsonSimSwapDto; - @GivenTextResource("/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json") + @GivenTextResource("/domains/numberlookup/v2/response/SimSwapResponseWithErrorDto.json") String jsonSimSwapWithErrorDto; @Test @@ -41,8 +41,7 @@ void serializeDto() throws JsonProcessingException, JSONException { @Test void deserializeDto() throws JsonProcessingException { - SimSwap deserialized = - objectMapper.readValue(jsonSimSwapDto, SimSwap.class); + SimSwap deserialized = objectMapper.readValue(jsonSimSwapDto, SimSwap.class); TestHelpers.recursiveEquals(deserialized, simSwapResponseDto); } @@ -56,8 +55,7 @@ void serializeWithErrorDto() throws JsonProcessingException, JSONException { @Test void deserializeWithErrorDto() throws JsonProcessingException { - SimSwap deserialized = - objectMapper.readValue(jsonSimSwapWithErrorDto, SimSwap.class); + SimSwap deserialized = objectMapper.readValue(jsonSimSwapWithErrorDto, SimSwap.class); TestHelpers.recursiveEquals(deserialized, simSwapResponseWithErrorDto); } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionResponseDtoTest.java similarity index 54% rename from openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java rename to openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionResponseDtoTest.java index a5efaf192..d7e86ef47 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/number_lookup/models/v2/response/VoIPDetectionResponseDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/response/VoIPDetectionResponseDtoTest.java @@ -1,4 +1,4 @@ -package com.sinch.sdk.domains.number_lookup.models.v2.response; +package com.sinch.sdk.domains.numberlookup.models.v2.response; import com.adelean.inject.resources.junit.jupiter.GivenTextResource; import com.adelean.inject.resources.junit.jupiter.TestWithResources; @@ -12,37 +12,35 @@ @TestWithResources public class VoIPDetectionResponseDtoTest extends BaseTest { - public static VoipDetection voIPDetectionResponseDto = - VoipDetection.builder().setProbability(VoIPProbabilityType.HIGH).build(); + public static VoIPDetection voIPDetectionResponseDto = + VoIPDetection.builder().setProbability(VoIPProbabilityType.HIGH).build(); - public static VoipDetection voIPDetectionResponseEmptyDto = - VoipDetection.builder().build(); + public static VoIPDetection voIPDetectionResponseEmptyDto = VoIPDetection.builder().build(); - @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json") - String jsonVoipDetectionDto; + @GivenTextResource("/domains/numberlookup/v2/response/VoIPDetectionResponseDto.json") + String jsonVoIPDetectionDto; - @GivenTextResource("/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json") - String jsonVoipDetectionEmptyDto; + @GivenTextResource("/domains/numberlookup/v2/response/VoIPDetectionResponseEmptyDto.json") + String jsonVoIPDetectionEmptyDto; @Test void serializeDto() throws JsonProcessingException, JSONException { String serializedString = objectMapper.writeValueAsString(voIPDetectionResponseDto); - JSONAssert.assertEquals(jsonVoipDetectionDto, serializedString, true); + JSONAssert.assertEquals(jsonVoIPDetectionDto, serializedString, true); } @Test void deserializeDto() throws JsonProcessingException { - VoipDetection deserialized = - objectMapper.readValue(jsonVoipDetectionDto, VoipDetection.class); + VoIPDetection deserialized = objectMapper.readValue(jsonVoIPDetectionDto, VoIPDetection.class); TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseDto); } @Test void deserializeEmptyDto() throws JsonProcessingException { - VoipDetection deserialized = - objectMapper.readValue(jsonVoipDetectionEmptyDto, VoipDetection.class); + VoIPDetection deserialized = + objectMapper.readValue(jsonVoIPDetectionEmptyDto, VoIPDetection.class); TestHelpers.recursiveEquals(deserialized, voIPDetectionResponseEmptyDto); } diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/LookupErrorDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/LookupErrorDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/LookupErrorEmptyDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/LookupErrorEmptyDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/LookupErrorEmptyDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/ProblemDetailsDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/errors/ProblemDetailsDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/errors/ProblemDetailsDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestAllFeaturesDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestAllFeaturesDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestAllFeaturesDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestMinimalDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestMinimalDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestMinimalDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestWithFeaturesDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithFeaturesDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestWithFeaturesDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestWithRndOptionsDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/request/NumberLookupRequestWithRndOptionsDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/request/NumberLookupRequestWithRndOptionsDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/request/RndFeatureOptionsDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/request/RndFeatureOptionsDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/request/RndFeatureOptionsDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/LineResponseDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/LineResponseDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/LineResponseEmptyDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/LineResponseEmptyDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/LineResponseEmptyDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/NumberLookupResponseFullDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseFullDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/NumberLookupResponseFullDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/NumberLookupResponseMinimalDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/NumberLookupResponseMinimalDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/NumberLookupResponseMinimalDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/RndResponseDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/RndResponseDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/RndResponseEmptyDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/RndResponseEmptyDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/RndResponseEmptyDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/SimSwapResponseDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/SimSwapResponseDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/SimSwapResponseWithErrorDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/SimSwapResponseWithErrorDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/SimSwapResponseWithErrorDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/VoIPDetectionResponseDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/VoIPDetectionResponseDto.json diff --git a/openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json b/openapi-contracts/src/test/resources/domains/numberlookup/v2/response/VoIPDetectionResponseEmptyDto.json similarity index 100% rename from openapi-contracts/src/test/resources/domains/number_lookup/v2/response/VoIPDetectionResponseEmptyDto.json rename to openapi-contracts/src/test/resources/domains/numberlookup/v2/response/VoIPDetectionResponseEmptyDto.json diff --git a/pom.xml b/pom.xml index aebd470b6..021a0bf4d 100644 --- a/pom.xml +++ b/pom.xml @@ -300,7 +300,7 @@ com.sinch.sdk.e2e.domains.sms.v1.SmsIT com.sinch.sdk.e2e.domains.voice.v1.VoiceIT com.sinch.sdk.e2e.domains.verification.v1.VerificationIT - com.sinch.sdk.e2e.domains.number_lookup.v2.NumberLookupIT + com.sinch.sdk.e2e.domains.numberlookup.v2.NumberLookupIT From 71507e9ba38964f41565237e9353a0365fde9605 Mon Sep 17 00:00:00 2001 From: Eduardo San Segundo Date: Fri, 5 Jun 2026 09:13:01 +0200 Subject: [PATCH 6/6] Small modifications for suggestions --- ...nHelperTest.java => CredentialsValidationHelper.java} | 2 +- .../api/v2/adapters/NumberLookupServiceTest.java | 2 +- .../models/v2/errors/LookupErrorDtoTest.java | 9 --------- .../models/v2/errors/ProblemDetailsDtoTest.java | 9 --------- 4 files changed, 2 insertions(+), 20 deletions(-) rename client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/{CredentialsValidationHelperTest.java => CredentialsValidationHelper.java} (99%) diff --git a/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelper.java similarity index 99% rename from client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java rename to client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelper.java index da8c10c19..4df84f691 100644 --- a/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelperTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/CredentialsValidationHelper.java @@ -11,7 +11,7 @@ import java.util.function.Consumer; import java.util.function.Supplier; -class CredentialsValidationHelperTest { +class CredentialsValidationHelper { static ServerConfiguration oAuthServer = new ServerConfiguration("https://oauth.foo.url"); diff --git a/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java index f761d1702..c6d7db2d7 100644 --- a/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java +++ b/client/src/test/java/com/sinch/sdk/domains/numberlookup/api/v2/adapters/NumberLookupServiceTest.java @@ -10,6 +10,6 @@ class NumberLookupServiceTest { @Test void checkCredentialsNumberLookup() { - CredentialsValidationHelperTest.checkCredentials(() -> httpClient, NumberLookupService::lookup); + CredentialsValidationHelper.checkCredentials(() -> httpClient, NumberLookupService::lookup); } } diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java index a50832233..faf6e7261 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/LookupErrorDtoTest.java @@ -5,9 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.sinch.sdk.BaseTest; import com.sinch.sdk.core.TestHelpers; -import org.json.JSONException; import org.junit.jupiter.api.Test; -import org.skyscreamer.jsonassert.JSONAssert; @TestWithResources public class LookupErrorDtoTest extends BaseTest { @@ -28,13 +26,6 @@ public class LookupErrorDtoTest extends BaseTest { @GivenTextResource("/domains/numberlookup/v2/errors/LookupErrorEmptyDto.json") String jsonLookupErrorEmptyDto; - @Test - void serializeDto() throws JsonProcessingException, JSONException { - String serializedString = objectMapper.writeValueAsString(lookupErrorDto); - - JSONAssert.assertEquals(jsonLookupErrorDto, serializedString, true); - } - @Test void deserializeDto() throws JsonProcessingException { LookupError deserialized = objectMapper.readValue(jsonLookupErrorDto, LookupError.class); diff --git a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java index ea294f424..d94af3def 100644 --- a/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java +++ b/openapi-contracts/src/test/java/com/sinch/sdk/domains/numberlookup/models/v2/errors/ProblemDetailsDtoTest.java @@ -5,9 +5,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.sinch.sdk.BaseTest; import com.sinch.sdk.core.TestHelpers; -import org.json.JSONException; import org.junit.jupiter.api.Test; -import org.skyscreamer.jsonassert.JSONAssert; @TestWithResources public class ProblemDetailsDtoTest extends BaseTest { @@ -23,13 +21,6 @@ public class ProblemDetailsDtoTest extends BaseTest { @GivenTextResource("/domains/numberlookup/v2/errors/ProblemDetailsDto.json") String jsonProblemDetailsDto; - @Test - void serializeDto() throws JsonProcessingException, JSONException { - String serializedString = objectMapper.writeValueAsString(problemDetailsDto); - - JSONAssert.assertEquals(jsonProblemDetailsDto, serializedString, true); - } - @Test void deserializeDto() throws JsonProcessingException { ProblemDetails deserialized =