Spring Cloud合同和Spring Security问题

时间:2018-08-14 13:34:58

标签: spring spring-boot spring-boot-test spring-cloud-contract

我正在项目中使用Spring Cloud Contracts来测试微服务,一切正常。但是,当我在生产方添加Spring Security时, GET 返回401状态代码,而不是200。

@Autowired
WebApplicationContext context;

@Before
public void setup() {
    RestAssuredMockMvc.webAppContextSetup(this.context);
}

我的问题是:

  1. 我必须避免在合同测试中进行安全设置吗?
  2. 如果我要考虑安全性配置,如何使其起作用。

1 个答案:

答案 0 :(得分:0)

我在基类上成功使用了自定义注释,如此处test-method-withsecuritycontext

所述
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@WithSecurityContext(factory = WithMockCustomUserSecurityContextFactory.class)
public @interface WithMockCustomUserDetails {
    String username() default "email@example.com";
    String role() default "DEFAULT_ROLE";
    String password() default "123456";
}

然后

@WithMockCustomUserDetails
class AccountBase {
   ...
}