Skip to content

Commit 7115df7

Browse files
committed
Generate BalancePlaform models and fix test
1 parent e745ed1 commit 7115df7

115 files changed

Lines changed: 1228 additions & 1636 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Adyen.Test/BalancePlatform/AccountHolders/AccountHolderTest.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,18 @@ public AccountHolderTest()
3333

3434

3535
[TestMethod]
36-
public async Task Given_AccountHolder_When_Unknown_Enum_Then_Result_Deserialize_To_Null()
36+
public async Task Given_AccountHolder_When_Unknown_Enum_Then_Result_Deserialize_PreservesRawValue()
3737
{
3838
// Arrange
3939
string json = TestUtilities.GetTestFileContent("mocks/balanceplatform/AccountHolderWithUnknownEnum.json");
4040

4141
// Act
4242
var response = JsonSerializer.Deserialize<AccountHolder>(json, _jsonSerializerOptionsProvider.Options);
4343

44-
// Assert
44+
// Assert - unknown enum values are now preserved (not null) per IEX-3037 IEnum pattern
4545
Assert.IsNotNull(response);
46-
Assert.IsNull(response.Status);
46+
Assert.IsNotNull(response.Status);
47+
Assert.AreEqual("unknown-enum", response.Status.Value);
4748
}
4849

4950
[TestMethod]

Adyen/BalancePlatform/Client/ClientUtils.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOp
161161
if (obj is Models.AssociationInitiateRequest.TypeEnum associationInitiateRequestTypeEnum)
162162
return Models.AssociationInitiateRequest.TypeEnum.ToJsonValue(associationInitiateRequestTypeEnum);
163163
if (obj is Models.AssociationStatus associationStatus)
164-
return AssociationStatusValueConverter.ToJsonValue(associationStatus);
164+
return AssociationStatus.ToJsonValue(associationStatus);
165165
if (obj is Models.BRLocalAccountIdentification.TypeEnum bRLocalAccountIdentificationTypeEnum)
166166
return Models.BRLocalAccountIdentification.TypeEnum.ToJsonValue(bRLocalAccountIdentificationTypeEnum);
167167
if (obj is Models.BalanceAccount.StatusEnum balanceAccountStatusEnum)
@@ -247,11 +247,11 @@ public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOp
247247
if (obj is Models.IbanAccountIdentificationRequirement.TypeEnum ibanAccountIdentificationRequirementTypeEnum)
248248
return Models.IbanAccountIdentificationRequirement.TypeEnum.ToJsonValue(ibanAccountIdentificationRequirementTypeEnum);
249249
if (obj is Models.LimitStatus limitStatus)
250-
return LimitStatusValueConverter.ToJsonValue(limitStatus);
250+
return LimitStatus.ToJsonValue(limitStatus);
251251
if (obj is Models.MandateStatus mandateStatus)
252-
return MandateStatusValueConverter.ToJsonValue(mandateStatus);
252+
return MandateStatus.ToJsonValue(mandateStatus);
253253
if (obj is Models.MandateType mandateType)
254-
return MandateTypeValueConverter.ToJsonValue(mandateType);
254+
return MandateType.ToJsonValue(mandateType);
255255
if (obj is Models.MatchingValuesRestriction.ValueEnum matchingValuesRestrictionValueEnum)
256256
return MatchingValuesRestriction.ValueEnum.ToJsonValue(matchingValuesRestrictionValueEnum);
257257
if (obj is Models.NOLocalAccountIdentification.TypeEnum nOLocalAccountIdentificationTypeEnum)
@@ -297,17 +297,17 @@ public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOp
297297
if (obj is Models.SGLocalAccountIdentification.TypeEnum sGLocalAccountIdentificationTypeEnum)
298298
return Models.SGLocalAccountIdentification.TypeEnum.ToJsonValue(sGLocalAccountIdentificationTypeEnum);
299299
if (obj is Models.ScaDeviceType scaDeviceType)
300-
return ScaDeviceTypeValueConverter.ToJsonValue(scaDeviceType);
300+
return ScaDeviceType.ToJsonValue(scaDeviceType);
301301
if (obj is Models.ScaEntityType scaEntityType)
302-
return ScaEntityTypeValueConverter.ToJsonValue(scaEntityType);
302+
return ScaEntityType.ToJsonValue(scaEntityType);
303303
if (obj is Models.ScaExemption scaExemption)
304-
return ScaExemptionValueConverter.ToJsonValue(scaExemption);
304+
return ScaExemption.ToJsonValue(scaExemption);
305305
if (obj is Models.ScaStatus scaStatus)
306-
return ScaStatusValueConverter.ToJsonValue(scaStatus);
306+
return ScaStatus.ToJsonValue(scaStatus);
307307
if (obj is Models.Scope scope)
308-
return ScopeValueConverter.ToJsonValue(scope);
308+
return Scope.ToJsonValue(scope);
309309
if (obj is Models.SettingType settingType)
310-
return SettingTypeValueConverter.ToJsonValue(settingType);
310+
return SettingType.ToJsonValue(settingType);
311311
if (obj is Models.SourceAccountTypesRestriction.ValueEnum sourceAccountTypesRestrictionValueEnum)
312312
return SourceAccountTypesRestriction.ValueEnum.ToJsonValue(sourceAccountTypesRestrictionValueEnum);
313313
if (obj is Models.StringMatch.OperationEnum stringMatchOperationEnum)
@@ -361,7 +361,7 @@ public static bool TryDeserialize<T>(ref Utf8JsonReader reader, JsonSerializerOp
361361
if (obj is Models.TransferRouteRequest.PrioritiesEnum transferRouteRequestPrioritiesEnum)
362362
return TransferRouteRequest.PrioritiesEnum.ToJsonValue(transferRouteRequestPrioritiesEnum);
363363
if (obj is Models.TransferType transferType)
364-
return TransferTypeValueConverter.ToJsonValue(transferType);
364+
return TransferType.ToJsonValue(transferType);
365365
if (obj is Models.UKLocalAccountIdentification.TypeEnum uKLocalAccountIdentificationTypeEnum)
366366
return Models.UKLocalAccountIdentification.TypeEnum.ToJsonValue(uKLocalAccountIdentificationTypeEnum);
367367
if (obj is Models.USInstantPayoutAddressRequirement.TypeEnum uSInstantPayoutAddressRequirementTypeEnum)

Adyen/BalancePlatform/Client/HostConfiguration.cs

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,7 @@ public HostConfiguration(IServiceCollection services)
8282
_jsonOptions.Converters.Add(new AssociationInitiateRequestJsonConverter());
8383
_jsonOptions.Converters.Add(new AssociationInitiateResponseJsonConverter());
8484
_jsonOptions.Converters.Add(new AssociationListingJsonConverter());
85-
_jsonOptions.Converters.Add(new AssociationStatusJsonConverter());
86-
_jsonOptions.Converters.Add(new AssociationStatusNullableJsonConverter());
85+
_jsonOptions.Converters.Add(new AssociationStatus.AssociationStatusJsonConverter());
8786
_jsonOptions.Converters.Add(new AuthenticationJsonConverter());
8887
_jsonOptions.Converters.Add(new AuthorisedCardUsersJsonConverter());
8988
_jsonOptions.Converters.Add(new BRLocalAccountIdentificationJsonConverter());
@@ -159,8 +158,7 @@ public HostConfiguration(IServiceCollection services)
159158
_jsonOptions.Converters.Add(new IbanAccountIdentificationRequirementJsonConverter());
160159
_jsonOptions.Converters.Add(new InternationalTransactionRestrictionJsonConverter());
161160
_jsonOptions.Converters.Add(new InvalidFieldJsonConverter());
162-
_jsonOptions.Converters.Add(new LimitStatusJsonConverter());
163-
_jsonOptions.Converters.Add(new LimitStatusNullableJsonConverter());
161+
_jsonOptions.Converters.Add(new LimitStatus.LimitStatusJsonConverter());
164162
_jsonOptions.Converters.Add(new LinkJsonConverter());
165163
_jsonOptions.Converters.Add(new ListAssociationsResponseJsonConverter());
166164
_jsonOptions.Converters.Add(new ListMandatesResponseJsonConverter());
@@ -169,10 +167,8 @@ public HostConfiguration(IServiceCollection services)
169167
_jsonOptions.Converters.Add(new MandateAccountIdentificationJsonConverter());
170168
_jsonOptions.Converters.Add(new MandateBankAccountJsonConverter());
171169
_jsonOptions.Converters.Add(new MandatePartyIdentificationJsonConverter());
172-
_jsonOptions.Converters.Add(new MandateStatusJsonConverter());
173-
_jsonOptions.Converters.Add(new MandateStatusNullableJsonConverter());
174-
_jsonOptions.Converters.Add(new MandateTypeJsonConverter());
175-
_jsonOptions.Converters.Add(new MandateTypeNullableJsonConverter());
170+
_jsonOptions.Converters.Add(new MandateStatus.MandateStatusJsonConverter());
171+
_jsonOptions.Converters.Add(new MandateType.MandateTypeJsonConverter());
176172
_jsonOptions.Converters.Add(new MandateUpdateJsonConverter());
177173
_jsonOptions.Converters.Add(new MatchingTransactionsRestrictionJsonConverter());
178174
_jsonOptions.Converters.Add(new MatchingValuesRestrictionJsonConverter());
@@ -229,21 +225,15 @@ public HostConfiguration(IServiceCollection services)
229225
_jsonOptions.Converters.Add(new SameAmountRestrictionJsonConverter());
230226
_jsonOptions.Converters.Add(new SameCounterpartyRestrictionJsonConverter());
231227
_jsonOptions.Converters.Add(new ScaDeviceJsonConverter());
232-
_jsonOptions.Converters.Add(new ScaDeviceTypeJsonConverter());
233-
_jsonOptions.Converters.Add(new ScaDeviceTypeNullableJsonConverter());
228+
_jsonOptions.Converters.Add(new ScaDeviceType.ScaDeviceTypeJsonConverter());
234229
_jsonOptions.Converters.Add(new ScaEntityJsonConverter());
235-
_jsonOptions.Converters.Add(new ScaEntityTypeJsonConverter());
236-
_jsonOptions.Converters.Add(new ScaEntityTypeNullableJsonConverter());
237-
_jsonOptions.Converters.Add(new ScaExemptionJsonConverter());
238-
_jsonOptions.Converters.Add(new ScaExemptionNullableJsonConverter());
230+
_jsonOptions.Converters.Add(new ScaEntityType.ScaEntityTypeJsonConverter());
231+
_jsonOptions.Converters.Add(new ScaExemption.ScaExemptionJsonConverter());
239232
_jsonOptions.Converters.Add(new ScaInformationJsonConverter());
240-
_jsonOptions.Converters.Add(new ScaStatusJsonConverter());
241-
_jsonOptions.Converters.Add(new ScaStatusNullableJsonConverter());
242-
_jsonOptions.Converters.Add(new ScopeJsonConverter());
243-
_jsonOptions.Converters.Add(new ScopeNullableJsonConverter());
233+
_jsonOptions.Converters.Add(new ScaStatus.ScaStatusJsonConverter());
234+
_jsonOptions.Converters.Add(new Scope.ScopeJsonConverter());
244235
_jsonOptions.Converters.Add(new SearchRegisteredDevicesResponseJsonConverter());
245-
_jsonOptions.Converters.Add(new SettingTypeJsonConverter());
246-
_jsonOptions.Converters.Add(new SettingTypeNullableJsonConverter());
236+
_jsonOptions.Converters.Add(new SettingType.SettingTypeJsonConverter());
247237
_jsonOptions.Converters.Add(new SourceAccountTypesRestrictionJsonConverter());
248238
_jsonOptions.Converters.Add(new StringMatchJsonConverter());
249239
_jsonOptions.Converters.Add(new SubmitScaAssociationRequestJsonConverter());
@@ -273,8 +263,7 @@ public HostConfiguration(IServiceCollection services)
273263
_jsonOptions.Converters.Add(new TransferRouteRequestJsonConverter());
274264
_jsonOptions.Converters.Add(new TransferRouteRequirementsInnerJsonConverter());
275265
_jsonOptions.Converters.Add(new TransferRouteResponseJsonConverter());
276-
_jsonOptions.Converters.Add(new TransferTypeJsonConverter());
277-
_jsonOptions.Converters.Add(new TransferTypeNullableJsonConverter());
266+
_jsonOptions.Converters.Add(new TransferType.TransferTypeJsonConverter());
278267
_jsonOptions.Converters.Add(new UKLocalAccountIdentificationJsonConverter());
279268
_jsonOptions.Converters.Add(new UKLocalMandateAccountIdentificationJsonConverter());
280269
_jsonOptions.Converters.Add(new USInstantPayoutAddressRequirementJsonConverter());

Adyen/BalancePlatform/Models/AULocalAccountIdentification.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ private TypeEnum(string? value)
131131
if (value == TypeEnum.AuLocal)
132132
return "auLocal";
133133

134-
return null;
134+
return value.Value;
135135
}
136136

137137
/// <summary>
@@ -244,7 +244,7 @@ public override AULocalAccountIdentification Read(ref Utf8JsonReader utf8JsonRea
244244
break;
245245
case "type":
246246
string? typeRawValue = utf8JsonReader.GetString();
247-
type = new Option<AULocalAccountIdentification.TypeEnum?>(AULocalAccountIdentification.TypeEnum.FromStringOrDefault(typeRawValue));
247+
type = new Option<AULocalAccountIdentification.TypeEnum?>(AULocalAccountIdentification.TypeEnum.FromStringOrDefault(typeRawValue) ?? (AULocalAccountIdentification.TypeEnum)typeRawValue);
248248
break;
249249
default:
250250
break;
@@ -264,7 +264,7 @@ public override AULocalAccountIdentification Read(ref Utf8JsonReader utf8JsonRea
264264
var aULocalAccountIdentification = new AULocalAccountIdentification();
265265
aULocalAccountIdentification.AccountNumber = accountNumber.Value!;
266266
aULocalAccountIdentification.BsbCode = bsbCode.Value!;
267-
aULocalAccountIdentification.Type = type.Value!.Value;
267+
aULocalAccountIdentification.Type = type.Value!;
268268
return aULocalAccountIdentification;
269269
}
270270

Adyen/BalancePlatform/Models/AccountHolder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ private StatusEnum(string? value)
149149
if (value == StatusEnum.Suspended)
150150
return "suspended";
151151

152-
return null;
152+
return value.Value;
153153
}
154154

155155
/// <summary>
@@ -457,7 +457,7 @@ public override AccountHolder Read(ref Utf8JsonReader utf8JsonReader, Type typeT
457457
break;
458458
case "status":
459459
string? statusRawValue = utf8JsonReader.GetString();
460-
status = new Option<AccountHolder.StatusEnum?>(AccountHolder.StatusEnum.FromStringOrDefault(statusRawValue));
460+
status = new Option<AccountHolder.StatusEnum?>(AccountHolder.StatusEnum.FromStringOrDefault(statusRawValue) ?? (AccountHolder.StatusEnum)statusRawValue);
461461
break;
462462
case "timeZone":
463463
timeZone = new Option<string?>(utf8JsonReader.GetString()!);

Adyen/BalancePlatform/Models/AccountHolderCapability.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ private AllowedLevelEnum(string? value)
158158
if (value == AllowedLevelEnum.NotApplicable)
159159
return "notApplicable";
160160

161-
return null;
161+
return value.Value;
162162
}
163163

164164
/// <summary>
@@ -314,7 +314,7 @@ private RequestedLevelEnum(string? value)
314314
if (value == RequestedLevelEnum.NotApplicable)
315315
return "notApplicable";
316316

317-
return null;
317+
return value.Value;
318318
}
319319

320320
/// <summary>
@@ -469,7 +469,7 @@ private VerificationStatusEnum(string? value)
469469
if (value == VerificationStatusEnum.Valid)
470470
return "valid";
471471

472-
return null;
472+
return value.Value;
473473
}
474474

475475
/// <summary>
@@ -686,7 +686,7 @@ public override AccountHolderCapability Read(ref Utf8JsonReader utf8JsonReader,
686686
break;
687687
case "allowedLevel":
688688
string? allowedLevelRawValue = utf8JsonReader.GetString();
689-
allowedLevel = new Option<AccountHolderCapability.AllowedLevelEnum?>(AccountHolderCapability.AllowedLevelEnum.FromStringOrDefault(allowedLevelRawValue));
689+
allowedLevel = new Option<AccountHolderCapability.AllowedLevelEnum?>(AccountHolderCapability.AllowedLevelEnum.FromStringOrDefault(allowedLevelRawValue) ?? (AccountHolderCapability.AllowedLevelEnum)allowedLevelRawValue);
690690
break;
691691
case "allowedSettings":
692692
allowedSettings = new Option<CapabilitySettings?>(JsonSerializer.Deserialize<CapabilitySettings>(ref utf8JsonReader, jsonSerializerOptions)!);
@@ -702,7 +702,7 @@ public override AccountHolderCapability Read(ref Utf8JsonReader utf8JsonReader,
702702
break;
703703
case "requestedLevel":
704704
string? requestedLevelRawValue = utf8JsonReader.GetString();
705-
requestedLevel = new Option<AccountHolderCapability.RequestedLevelEnum?>(AccountHolderCapability.RequestedLevelEnum.FromStringOrDefault(requestedLevelRawValue));
705+
requestedLevel = new Option<AccountHolderCapability.RequestedLevelEnum?>(AccountHolderCapability.RequestedLevelEnum.FromStringOrDefault(requestedLevelRawValue) ?? (AccountHolderCapability.RequestedLevelEnum)requestedLevelRawValue);
706706
break;
707707
case "requestedSettings":
708708
requestedSettings = new Option<CapabilitySettings?>(JsonSerializer.Deserialize<CapabilitySettings>(ref utf8JsonReader, jsonSerializerOptions)!);
@@ -712,7 +712,7 @@ public override AccountHolderCapability Read(ref Utf8JsonReader utf8JsonReader,
712712
break;
713713
case "verificationStatus":
714714
string? verificationStatusRawValue = utf8JsonReader.GetString();
715-
verificationStatus = new Option<AccountHolderCapability.VerificationStatusEnum?>(AccountHolderCapability.VerificationStatusEnum.FromStringOrDefault(verificationStatusRawValue));
715+
verificationStatus = new Option<AccountHolderCapability.VerificationStatusEnum?>(AccountHolderCapability.VerificationStatusEnum.FromStringOrDefault(verificationStatusRawValue) ?? (AccountHolderCapability.VerificationStatusEnum)verificationStatusRawValue);
716716
break;
717717
default:
718718
break;

Adyen/BalancePlatform/Models/AccountHolderUpdateRequest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ private StatusEnum(string? value)
149149
if (value == StatusEnum.Suspended)
150150
return "suspended";
151151

152-
return null;
152+
return value.Value;
153153
}
154154

155155
/// <summary>
@@ -432,7 +432,7 @@ public override AccountHolderUpdateRequest Read(ref Utf8JsonReader utf8JsonReade
432432
break;
433433
case "status":
434434
string? statusRawValue = utf8JsonReader.GetString();
435-
status = new Option<AccountHolderUpdateRequest.StatusEnum?>(AccountHolderUpdateRequest.StatusEnum.FromStringOrDefault(statusRawValue));
435+
status = new Option<AccountHolderUpdateRequest.StatusEnum?>(AccountHolderUpdateRequest.StatusEnum.FromStringOrDefault(statusRawValue) ?? (AccountHolderUpdateRequest.StatusEnum)statusRawValue);
436436
break;
437437
case "timeZone":
438438
timeZone = new Option<string?>(utf8JsonReader.GetString()!);

0 commit comments

Comments
 (0)