(window.webpackJsonp=window.webpackJsonp||[]).push([[210],{636:function(t,e,n){"use strict";n.r(e);var s=n(56),i=Object(s.a)({},(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[n("h1",{attrs:{id:"testing-authentication"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#testing-authentication"}},[t._v("#")]),t._v(" Testing Authentication")]),t._v(" "),n("p",[t._v("After "),n("RouterLink",{attrs:{to:"/en/spring-security/setup.html"}},[t._v("applying the Spring Security support to "),n("code",[t._v("WebTestClient")])]),t._v(" we can use either annotations or "),n("code",[t._v("mutateWith")]),t._v(" support.\nFor example:")],1),t._v(" "),n("p",[t._v("Java")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v('@Test\npublic void messageWhenNotAuthenticated() throws Exception {\n\tthis.rest\n\t\t.get()\n\t\t.uri("/message")\n\t\t.exchange()\n\t\t.expectStatus().isUnauthorized();\n}\n\n// --- WithMockUser ---\n\n@Test\n@WithMockUser\npublic void messageWhenWithMockUserThenForbidden() throws Exception {\n\tthis.rest\n\t\t.get()\n\t\t.uri("/message")\n\t\t.exchange()\n\t\t.expectStatus().isEqualTo(HttpStatus.FORBIDDEN);\n}\n\n@Test\n@WithMockUser(roles = "ADMIN")\npublic void messageWhenWithMockAdminThenOk() throws Exception {\n\tthis.rest\n\t\t.get()\n\t\t.uri("/message")\n\t\t.exchange()\n\t\t.expectStatus().isOk()\n\t\t.expectBody(String.class).isEqualTo("Hello World!");\n}\n\n// --- mutateWith mockUser ---\n\n@Test\npublic void messageWhenMutateWithMockUserThenForbidden() throws Exception {\n\tthis.rest\n\t\t.mutateWith(mockUser())\n\t\t.get()\n\t\t.uri("/message")\n\t\t.exchange()\n\t\t.expectStatus().isEqualTo(HttpStatus.FORBIDDEN);\n}\n\n@Test\npublic void messageWhenMutateWithMockAdminThenOk() throws Exception {\n\tthis.rest\n\t\t.mutateWith(mockUser().roles("ADMIN"))\n\t\t.get()\n\t\t.uri("/message")\n\t\t.exchange()\n\t\t.expectStatus().isOk()\n\t\t.expectBody(String.class).isEqualTo("Hello World!");\n}\n')])])]),n("p",[t._v("Kotlin")]),t._v(" "),n("div",{staticClass:"language- extra-class"},[n("pre",{pre:!0,attrs:{class:"language-text"}},[n("code",[t._v('import org.springframework.test.web.reactive.server.expectBody\n\n//...\n\n@Test\n@WithMockUser\nfun messageWhenWithMockUserThenForbidden() {\n this.rest.get().uri("/message")\n .exchange()\n .expectStatus().isEqualTo(HttpStatus.FORBIDDEN)\n}\n\n@Test\n@WithMockUser(roles = ["ADMIN"])\nfun messageWhenWithMockAdminThenOk() {\n this.rest.get().uri("/message")\n .exchange()\n .expectStatus().isOk\n .expectBody().isEqualTo("Hello World!")\n\n}\n\n// --- mutateWith mockUser ---\n\n@Test\nfun messageWhenMutateWithMockUserThenForbidden() {\n this.rest\n .mutateWith(mockUser())\n .get().uri("/message")\n .exchange()\n .expectStatus().isEqualTo(HttpStatus.FORBIDDEN)\n}\n\n@Test\nfun messageWhenMutateWithMockAdminThenOk() {\n this.rest\n .mutateWith(mockUser().roles("ADMIN"))\n .get().uri("/message")\n .exchange()\n .expectStatus().isOk\n .expectBody().isEqualTo("Hello World!")\n}\n')])])]),n("p",[t._v("In addition to "),n("code",[t._v("mockUser()")]),t._v(", Spring Security ships with several other convenience mutators for things like "),n("RouterLink",{attrs:{to:"/en/spring-security/csrf.html"}},[t._v("CSRF")]),t._v(" and "),n("RouterLink",{attrs:{to:"/en/spring-security/oauth2.html"}},[t._v("OAuth 2.0")]),t._v(".")],1),t._v(" "),n("p",[n("RouterLink",{attrs:{to:"/en/spring-security/setup.html"}},[t._v("WebTestClient Setup")]),n("RouterLink",{attrs:{to:"/en/spring-security/csrf.html"}},[t._v("Testing CSRF")])],1)])}),[],!1,null,null,null);e.default=i.exports}}]);