انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-036-L05

اختبار الأمان

  • الدرس 5 من 8
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

write tests for secured endpoints.

الموضوعات المخطط لها

  • Add the Spring Security test dependency.
  • @WithMockUser(roles = "ADMIN") runs a test as a fake user.
  • With MockMvc, SecurityMockMvcRequestPostProcessors can set a user or a JWT per request.
  • Always test three cases: anonymous, wrong role, right role.
  • A test of "anonymous gets 401" would have caught a forgotten permitAll.
تفاصيل المخطط المبدئي

عرض عملي

java
@Test @WithMockUser(roles = "CUSTOMER")
void customerCannotCreateProduct() throws Exception {
    mvc.perform(post("/api/products").contentType(APPLICATION_JSON).content("{}"))
       .andExpect(status().isForbidden());
}

اختبر فهمك

Which three callers should every endpoint be tested with?

أظهر الإجابة

Anonymous, a user without the role, a user with the role.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.