Я пытаюсь использовать весенний контракт, это файл моего контракта:
package contracts
import org.springframework.cloud.contract.spec.Contract
Contract.make {
request {
method POST()
url '/v1/wallet'
body("{\n" +
" \"externalRefType\":\"BIKER\",\n" +
" \"externalRefId\":\"9977633951\"\n" +
" }")
headers {
header 'Content-Type': 'application/json'
header 'Authorization': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzeXN0ZW0iLCJ0eXBlIjoic3lzdGVtIn0.ITL-gCOBAzgnMWcCHl4ztywLDKZxNgRbXzSfSWzT72wWoKqPr_PLLET3qFUd_cfRRZZMavjMxyz8_Uqin4j2-A'
}
}
response {
status 200
body("{\n" +
" \"walletId\": 135\n" +
"}")
}
}
Базовый класс:
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WalletServiceApplication.class)
public class BaseWallet {
@Autowired
private WalletController walletController;
@Before
public void setup() {
RestAssuredMockMvc.standaloneSetup(walletController);
}}
Класс WalletServiceApplication:
@SpringBootApplication
@EnableAsync
@EnableScheduling
@EnableSnappboxSecurity
@EnableSnappboxClientSecurity
@EnableTransactionManagement
public class WalletServiceApplication {
public static void main(String[] args) {
SpringApplication.run(WalletServiceApplication.class, args);
}}
и, наконец, WalletController:
@RestController
@RequestMapping(value = "/v1/wallet")
public class WalletController {
@Secured(SYSTEM)
@PostMapping
public ResponseEntity<?> createWallet(@Valid @RequestBody WalletCreateRequest walletParams) {
LOGGER.debug(walletParams.toString());
return new ResponseEntity<>(new WalletCreatedResponse(135), OK);
}}
Но оно не прошло, и когда я его развернул, я получил следующую ошибку:
Выполнено тестов: 1, сбоев: 0, ошибок: 1, пропущено: 0, истекло время: 10.964
сек <<< ОТКАЗ! - в <br>
org.springframework.cloud.contract.verifier.tests.ContractVerifierTest
validate_createWalletContract (org.springframework.cloud.contract.verifier.tes
ts.ContractVerifierTest) Прошедшее время: 0,347 сек <<< ОШИБКА!
org.springframework.web.util.NestedServletException: запрос
обработка не удалась; вложенное исключение
org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:
Объект аутентификации не найден в SecurityContext </p>
Кто-нибудь может мне помочь в этом?