我们从Python开源项目中,提取了以下34个代码示例,用于说明如何使用django.test.client.Client()。
def setUp(self): # set up client self.client = Client() # create users and store for later access self.user_foo = User.objects.create_user( username='foo', password="secret") # create Scene instance and assign permissions for user_foo self.scene = Scene.objects.create( suid="1be8dcc1-cf00-418c-9920-efa07b4fbeca", name="Test main workflow 1", owner=self.user_foo, shared="p", phase=Scene.phases.fin ) self.user_foo.user_permissions.add( Permission.objects.get(codename='view_scene')) assign_perm('view_scene', self.user_foo, self.scene)
def test_perf_database_render_no_instrumentation(benchmark, django_elasticapm_client): django_elasticapm_client.instrumentation_store.get_all() responses = [] with mock.patch("elasticapm.traces.TransactionsStore.should_collect") as should_collect: should_collect.return_value = False client = _TestClient() benchmark(lambda: responses.append( client_get(client, reverse("render-user-template")) )) for resp in responses: assert resp.status_code == 200 transactions = django_elasticapm_client.instrumentation_store.get_all() assert len(transactions) == 0
def test_perf_transaction_without_middleware(benchmark, django_elasticapm_client): django_elasticapm_client.instrumentation_store.get_all() with mock.patch("elasticapm.traces.TransactionsStore.should_collect") as should_collect: should_collect.return_value = False client = _TestClient() django_elasticapm_client.events = [] for i in range(10): resp = client_get(client, reverse("render-user-template")) assert resp.status_code == 200 assert len(django_elasticapm_client.events) == 0 @benchmark def result(): # Code to be measured return client_get(client, reverse("render-user-template")) assert len(django_elasticapm_client.events) == 0
def url_info(self, full_url): client = Client() info = [] try: resp = client.get(full_url, follow = True) except Exception as e_status_code: self.error('Url: %s, error: %s' % (full_url, e_status_code)) resp = type('object', (), {'status_code':0, 'content': str(e_status_code)}) status_code = resp.status_code info.append(status_code) try: req = requests.get(full_url) except Exception as e_load_time: self.error('Url: %s, error: %s' % (full_url, e_load_time)) load_time = req.elapsed info.append(load_time) return info
def setUp(self): self.time = timezone.now() self.user = self.create_user() self.facebook_account = self.create_facebook_account(self.user) self.channel = FacebookChannel() self.channel_name = models.Channel.objects.get(name="Facebook").name self.channel_id = models.Channel.objects.get(name="Facebook").id self.client = Client() self.conditions = {'hashtag': '#me'} self.fields = 'message,actions,full_picture,picture,from,created_time,link,permalink_url,type,description,source,object_id' self.webhook_data = { "time": self.time, "id": "101915710270588", "changed_fields": ["statuses"], "uid": "101915710270588" }
def test_view_decorators(self): c = Client() # Call a view that locks the object r = c.get(reverse('view-that-locks-object-1'), { 'object_id': self.test_model_instance.id }) self.assertEqual(r.status_code, 200) self.assertTrue(self.test_model_instance.is_locked()) # Call another view that locks the object (same session) r = c.get(reverse('view-that-locks-object-2', args=[self.test_model_instance.id])) self.assertEqual(r.status_code, 200) self.assertTrue(self.test_model_instance.is_locked()) # Call a view that unlocks the object after execution r = c.get(reverse('view-that-unlocks-object', args=[self.test_model_instance.id])) self.assertEqual(r.status_code, 200) self.assertFalse(self.test_model_instance.is_locked())
def test_410_redirect(self): Redirect.objects.create( site=self.site, old_path=str(self.page1.get_absolute_url()), new_path='/en/', response_code='410', ) client = Client() response = client.get('/en/test-page/') self.assertEqual(response.status_code, 410) Redirect.objects.create( site=self.site, old_path='/some-path/', response_code='302' ) response2 = client.get('/some-path/') self.assertEqual(response2.status_code, 410)
def setUp(self): super(DjmpTestBase, self).setUp() create_anonymous_user(None) self.user = 'admin' self.passwd = 'admin' self.client = Client() self.headers = { # TODO(mvv): these headers are specific to mvv's local env, that # may be bad long term 'X-Script-Name': '/1/map/tms/1.0.0/test/EPSG3857/1/0/0.png', 'HTTP_HOST': 'localhost:8000', 'SERVER_NAME': 'michaels-macbook-pro-2.local', 'X-Forwarded-Host': 'localhost:8000' }
def setUpTestData(cls): super().setUpTestData() cls.content = LocalContentFactory(visibility=Visibility.PUBLIC) cls.private_content = LocalContentFactory(visibility=Visibility.LIMITED) cls.client = Client() cls.reply = PublicContentFactory(parent=cls.content) cls.share = PublicContentFactory(share_of=cls.content)
def admin_client(admin_user): """A Django test client logged in as an admin user.""" from django.test.client import Client client = Client() client.login(username=admin_user.email, password='password') return client
def setUp(self): self.client = Client() make_basic_objects() # self.seen_links = set()
def setUp(self): self.client = Client() make_basic_objects()
def setUp(self): self.client = Client() self.db = make_basic_objects() self.new_cogclass = CognateClass.objects.create(alias="Y") self.new_source = Source.objects.create(citation_text="NEW SOURCE")
def setUp(self): self.client = Client() objects = make_basic_objects() # add additional objects here relation = SemanticRelation.objects.create( relation_code="R", long_name="RELATION") extension = SemanticExtension.objects.create( lexeme=objects[Lexeme], relation=relation) SemanticExtensionCitation.objects.create( extension=extension, source=objects[Source]) self.seen_links = set()
def setUp(self): user = User.objects.create_user('foo', password='pass') user.is_staff = True user.is_active = True user.save() self.client = Client() self.client.login(username=user.username, password='pass') get_queue('django_rq_test').connection.flushall()
def setUp(self): """ Common test setup """ super(SGATestCase, self).setUp() self.client = Client() self.user_model = get_user_model() self.default_course = self.get_test_course()
def setUp(self): self.courses_django = mommy.make( 'courses.Course', name='Python na Web com Django', _quantity=5) self.courses_dev = mommy.make( 'courses.Course', name='Python para Devs', _quantity=10) self.client = Client()
def test_contact_form_error(self): data = {'name': 'Fulano de Tal', 'email': '', 'message': ''} client = Client() path = reverse('courses:details', args=[self.course.slug]) response = client.post(path, data) self.assertFormError( response, 'form', 'email', 'Este campo é obrigatório.') self.assertFormError( response, 'form', 'message', 'Este campo é obrigatório.')
def test_perf_transaction_with_collection(benchmark, django_elasticapm_client): django_elasticapm_client.instrumentation_store.get_all() with mock.patch("elasticapm.traces.TransactionsStore.should_collect") as should_collect: should_collect.return_value = False django_elasticapm_client.events = [] client = _TestClient() with override_settings(**middleware_setting(django.VERSION, ['elasticapm.contrib.django.middleware.TracingMiddleware'])): for i in range(10): resp = client_get(client, reverse("render-user-template")) assert resp.status_code == 200 assert len(django_elasticapm_client.events) == 0 # Force collection on next request should_collect.return_value = True @benchmark def result(): # Code to be measured return client_get(client, reverse("render-user-template")) assert result.status_code is 200 assert len(django_elasticapm_client.events) > 0
def test_url_index(self): c = Client() response = c.get('/') self.assertEqual(response.status_code, 302)
def test_url_index_page(self): c = Client() response = c.get('/', {'page': 2}) self.assertEqual(response.status_code, 302) self.assertEqual(response.content, '')
def setUp(self): self.client = Client()
def setUp(self): self.user = self.make_user() self.other_user = self.make_user(username="other_user") self.client = Client()
def __init__(self, serializer=None): """ Sets up a fresh ``TestApiClient`` instance. If you are employing a custom serializer, you can pass the class to the ``serializer=`` kwarg. """ self.client = Client() self.serializer = serializer if not self.serializer: self.serializer = Serializer()
def _login(self, username, password): client = Client() assert client.login(username=username, password=password) return client
def _create_user_and_login(self, username="bob", password="bob"): self.login_username = username self.login_password = password self.user = self._create_user(username, password) # create user profile and set require_auth to false for tests profile, created = UserProfile.objects.get_or_create(user=self.user) profile.require_auth = False profile.save() self.client = self._login(username, password) self.anon = Client()
def setup(self): self.client = Client() self.assertEqual(len(User.objects.all()), 0)
def test_login_is_logged(self): client = Client(REMOTE_ADDR='192.168.1.1', HTTP_USER_AGENT='Test client') client.post('/admin/login/', { 'username': 'john', 'password': 'sue', 'this_is_the_login_form': 1, }) self.assertEquals(m.FailedLoginLog.objects.count(), 0) self.assertEquals(m.LoginLog.objects.count(), 1) log = m.LoginLog.objects.all()[0] self.assertEquals(log.username, 'john') self.assertTrue(is_recent(log.timestamp), 'Should have logged it recently') self.assertEquals(log.ip_address, '192.168.1.1') self.assertEquals(log.user_agent, 'Test client')
def test_long_user_agent_is_truncated(self): user_agent_field_length = m.LoginLog._meta.get_field('user_agent').max_length long_user_agent = 'x' * (user_agent_field_length) + 'this should be truncated' client = Client(REMOTE_ADDR='192.168.1.1', HTTP_USER_AGENT=long_user_agent) client.post('/admin/login/', { 'username': 'john', 'password': 'sue', 'this_is_the_login_form': 1, }) log = m.LoginLog.objects.all()[0] self.assertEquals(len(log.user_agent), user_agent_field_length) self.assertTrue(long_user_agent.startswith(log.user_agent))
def test_ip_forwarded_by_proxies(self): client = Client(REMOTE_ADDR='3.3.3.3', HTTP_X_FORWARDED_FOR='192.168.1.1, 1.1.1.1, 2.2.2.2') client.post('/admin/login/', { 'username': 'john', 'password': 'sue', 'this_is_the_login_form': 1, }) log = m.LoginLog.objects.first() self.assertIsNotNone(log) self.assertEquals(log.ip_address, '192.168.1.1') self.assertEquals(log.forwarded_by, '3.3.3.3,2.2.2.2,1.1.1.1')
def setUp(self): self.client = Client() self.user = self.create_user() self.user.save() self.trigger_channel = self.create_channel("Twitter") self.action_channel = self.trigger_channel self.trigger = self.create_trigger(channel=self.trigger_channel, trigger_type=200, name="New Image") self.action = self.create_action(channel=self.action_channel, action_type=200, name="Post Image") self.trigger_output = "image_data" self.trigger_input = self.create_trigger_input(trigger=self.trigger, name="test input") self.action_input = self.create_action_input(self.action, "image_data", "image") self.recipe = self.create_recipe(self.trigger, self.action, self.user) self.recipe_mapping = self.create_recipe_mapping( self.recipe, self.trigger_output, self.action_input) self.recipe_condition = self.create_recipe_condition( self.recipe, self.trigger_input, "test value") self.payload = {"foo": "bar"} self.conditions_dict = {"test input": "test value"}
def setUp(self): self.client = Client() self.user = self.create_user()