|
|
@@ -3,19 +3,19 @@ package com.ruoyi.app.omgpay;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.junit.jupiter.params.ParameterizedTest;
|
|
|
import org.junit.jupiter.params.provider.ValueSource;
|
|
|
+import org.mockito.ArgumentCaptor;
|
|
|
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
|
|
|
|
|
|
import java.time.Clock;
|
|
|
import java.time.Instant;
|
|
|
import java.time.ZoneOffset;
|
|
|
+import java.util.LinkedHashMap;
|
|
|
import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
|
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
|
-import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
|
import static org.mockito.ArgumentMatchers.anyMap;
|
|
|
import static org.mockito.ArgumentMatchers.eq;
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
@@ -42,11 +42,11 @@ class OmgPaymentFormFactoryTest {
|
|
|
assertEquals("Y", credit.fields().get("NeedExtraPaidInfo"));
|
|
|
assertEquals("https://foodieapi.waimai-paotui.com/pay/omg/result",
|
|
|
credit.fields().get("OrderResultURL"));
|
|
|
- verify(signer).sign(org.mockito.ArgumentMatchers.argThat(fields -> fields.size() == 14
|
|
|
- && "Credit".equals(fields.get("ChoosePayment"))
|
|
|
- && "2".equals(fields.get("UnionPay"))
|
|
|
- && !fields.containsKey("IgnorePayment")
|
|
|
- && !fields.containsKey("CheckMacValue")), eq("KEY"), eq("IV"));
|
|
|
+ ArgumentCaptor<Map<String, String>> signedFields = ArgumentCaptor.forClass(Map.class);
|
|
|
+ verify(signer).sign(signedFields.capture(), eq("KEY"), eq("IV"));
|
|
|
+ Map<String, String> expectedSignedFields = new LinkedHashMap<>(credit.fields());
|
|
|
+ expectedSignedFields.remove("CheckMacValue");
|
|
|
+ assertEquals(expectedSignedFields, signedFields.getValue());
|
|
|
assertThrows(UnsupportedOperationException.class, () -> credit.fields().put("extra", "value"));
|
|
|
}
|
|
|
|
|
|
@@ -64,11 +64,11 @@ class OmgPaymentFormFactoryTest {
|
|
|
assertEquals("ApplePay", applePay.fields().get("ChoosePayment"));
|
|
|
assertFalse(applePay.fields().containsKey("UnionPay"));
|
|
|
assertFalse(applePay.fields().containsKey("IgnorePayment"));
|
|
|
- verify(signer).sign(org.mockito.ArgumentMatchers.argThat(fields -> fields.size() == 13
|
|
|
- && "ApplePay".equals(fields.get("ChoosePayment"))
|
|
|
- && !fields.containsKey("UnionPay")
|
|
|
- && !fields.containsKey("IgnorePayment")
|
|
|
- && !fields.containsKey("CheckMacValue")), eq("KEY"), eq("IV"));
|
|
|
+ ArgumentCaptor<Map<String, String>> signedFields = ArgumentCaptor.forClass(Map.class);
|
|
|
+ verify(signer).sign(signedFields.capture(), eq("KEY"), eq("IV"));
|
|
|
+ Map<String, String> expectedSignedFields = new LinkedHashMap<>(applePay.fields());
|
|
|
+ expectedSignedFields.remove("CheckMacValue");
|
|
|
+ assertEquals(expectedSignedFields, signedFields.getValue());
|
|
|
}
|
|
|
|
|
|
@ParameterizedTest
|