Add `@NotBlank` to verificationToken in LinkDeviceRequest
This commit is contained in:
		
							parent
							
								
									0d412c88fd
								
							
						
					
					
						commit
						0593e9e89f
					
				| 
						 | 
					@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
 | 
				
			||||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
					import io.swagger.v3.oas.annotations.media.Schema;
 | 
				
			||||||
import jakarta.validation.Valid;
 | 
					import jakarta.validation.Valid;
 | 
				
			||||||
import jakarta.validation.constraints.AssertTrue;
 | 
					import jakarta.validation.constraints.AssertTrue;
 | 
				
			||||||
 | 
					import jakarta.validation.constraints.NotBlank;
 | 
				
			||||||
import jakarta.validation.constraints.NotNull;
 | 
					import jakarta.validation.constraints.NotNull;
 | 
				
			||||||
import java.util.Optional;
 | 
					import java.util.Optional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +14,7 @@ public record LinkDeviceRequest(@Schema(requiredMode = Schema.RequiredMode.REQUI
 | 
				
			||||||
                                The verification code associated with this device. Must match the verification code
 | 
					                                The verification code associated with this device. Must match the verification code
 | 
				
			||||||
                                provided by the server when provisioning this device.
 | 
					                                provided by the server when provisioning this device.
 | 
				
			||||||
                                """)
 | 
					                                """)
 | 
				
			||||||
 | 
					                                @NotBlank
 | 
				
			||||||
                                String verificationCode,
 | 
					                                String verificationCode,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                @Valid
 | 
					                                @Valid
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -53,6 +53,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 | 
				
			||||||
import org.junit.jupiter.params.ParameterizedTest;
 | 
					import org.junit.jupiter.params.ParameterizedTest;
 | 
				
			||||||
import org.junit.jupiter.params.provider.Arguments;
 | 
					import org.junit.jupiter.params.provider.Arguments;
 | 
				
			||||||
import org.junit.jupiter.params.provider.MethodSource;
 | 
					import org.junit.jupiter.params.provider.MethodSource;
 | 
				
			||||||
 | 
					import org.junit.jupiter.params.provider.NullSource;
 | 
				
			||||||
import org.junit.jupiter.params.provider.ValueSource;
 | 
					import org.junit.jupiter.params.provider.ValueSource;
 | 
				
			||||||
import org.junitpioneer.jupiter.cartesian.CartesianTest;
 | 
					import org.junitpioneer.jupiter.cartesian.CartesianTest;
 | 
				
			||||||
import org.mockito.ArgumentCaptor;
 | 
					import org.mockito.ArgumentCaptor;
 | 
				
			||||||
| 
						 | 
					@ -1346,4 +1347,33 @@ class DeviceControllerTest {
 | 
				
			||||||
      assertEquals(400, response.getStatus());
 | 
					      assertEquals(400, response.getStatus());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @ParameterizedTest
 | 
				
			||||||
 | 
					  @NullSource
 | 
				
			||||||
 | 
					  @ValueSource(strings = {""})
 | 
				
			||||||
 | 
					  void linkDeviceMissingVerificationCode(final String verificationCode) {
 | 
				
			||||||
 | 
					    final AccountAttributes accountAttributes = new AccountAttributes(true, 1234, 5678, null,
 | 
				
			||||||
 | 
					        null, true, Set.of());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final ECKeyPair aciIdentityKeyPair = Curve.generateKeyPair();
 | 
				
			||||||
 | 
					    final ECKeyPair pniIdentityKeyPair = Curve.generateKeyPair();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    final LinkDeviceRequest request = new LinkDeviceRequest(verificationCode,
 | 
				
			||||||
 | 
					        accountAttributes,
 | 
				
			||||||
 | 
					        new DeviceActivationRequest(
 | 
				
			||||||
 | 
					            KeysHelper.signedECPreKey(1, aciIdentityKeyPair),
 | 
				
			||||||
 | 
					            KeysHelper.signedECPreKey(2, pniIdentityKeyPair),
 | 
				
			||||||
 | 
					            KeysHelper.signedKEMPreKey(3, aciIdentityKeyPair),
 | 
				
			||||||
 | 
					            KeysHelper.signedKEMPreKey(4, pniIdentityKeyPair),
 | 
				
			||||||
 | 
					            Optional.empty(),
 | 
				
			||||||
 | 
					            Optional.empty()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    try (final Response response = resources.getJerseyTest()
 | 
				
			||||||
 | 
					        .target("/v1/devices/link")
 | 
				
			||||||
 | 
					        .request()
 | 
				
			||||||
 | 
					        .header("Authorization", AuthHelper.getProvisioningAuthHeader(AuthHelper.VALID_NUMBER, "password1"))
 | 
				
			||||||
 | 
					        .put(Entity.entity(request, MediaType.APPLICATION_JSON_TYPE))) {
 | 
				
			||||||
 | 
					      assertEquals(422, response.getStatus());
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue