Best Python code snippet using Kiwi_python
__init__.py
Source:__init__.py
...274 def verify_api_without_permission(self):275 self.fail("Not implemented")276 def verify_get_without_permission(self):277 self.fail("Not implemented")278 def verify_post_without_permission(self):279 self.fail("Not implemented")280 def test_with_permission(self):281 """282 Actual test method for positive scenario. Will validate283 all of the accepted methods by calling the284 verify_X_with_permission() method(s).285 """286 self.no_permissions_but(self.permission_label)287 self.client.login( # nosec:B106:hardcoded_password_funcarg288 username=self.tester.username, password="password"289 )290 for method in self.http_method_names:291 function = getattr(self, f"verify_{method}_with_permission")292 function()293 def no_permissions_but(self, tested_permission):294 """295 Make sure self.tester has no other permissions but296 the one required!297 """298 self.tester.user_permissions.remove()299 user_should_have_perm(self.tester, tested_permission)300 def test_without_permission(self):301 """302 Actual test method for negative scenario. Will validate303 all of the accepted methods by calling the304 verify_X_without_permission() method(s).305 """306 self.all_permissions_except(self.permission_label)307 self.client.login( # nosec:B106:hardcoded_password_funcarg308 username=self.tester.username, password="password"309 )310 for method in self.http_method_names:311 function = getattr(self, f"verify_{method}_without_permission")312 function()313 def all_permissions_except(self, tested_permission):314 """315 Make sure self.tester has all other permissions except316 the one required!317 """318 for perm in Permission.objects.all():319 user_should_have_perm(self.tester, perm)320 remove_perm_from_user(self.tester, tested_permission)321class PermissionsTestCase(PermissionsTestMixin, LoggedInTestCase):322 """Base class for all tests around view permissions"""323 url = None324 post_data = {}325 @classmethod326 def check_mandatory_attributes(cls):327 """328 Make sure important class attributes are defined.329 """330 super().check_mandatory_attributes()331 if not cls.url:332 raise RuntimeError("Configure `url` attribute for this test class")333 if "post" in cls.http_method_names and not cls.post_data:334 raise RuntimeError("Configure `post_data` attribute for this test class")335 if "post" not in cls.http_method_names and cls.post_data:336 raise RuntimeError(337 "Unnecessary `post_data` attribute configured for non-POST test!"338 )339 def verify_get_without_permission(self):340 """341 Implement all validation steps for GET self.url342 when self.tester does not have the appropriate permission.343 Default implementation asserts that user is redirected back344 to the login page!345 """346 response = self.client.get(self.url)347 self.assertRedirects(response, reverse("tcms-login") + "?next=" + self.url)348 def verify_post_without_permission(self):349 """350 Implement all validation steps for POST self.url351 when self.tester does not have the appropriate permission.352 Default implementation asserts that user is redirected back353 to the login page!354 """355 response = self.client.post(self.url, self.post_data)356 self.assertRedirects(response, reverse("tcms-login") + "?next=" + self.url)357 def all_permissions_except(self, tested_permission):358 """359 Make sure self.tester has all other permissions except360 the one required!361 """362 for perm in Permission.objects.all():...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!