Ejemplo n.º 1
0
    def test_signup(self):
        url = reverse('signup')
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

        data = {
            'username': '******',
            'email': '*****@*****.**',
            'first_name': 'Test',
            'last_name': 'User',
            'latitude': '45',
            'longitude': '2',
            'country': 'FR',
            'location_description': 'Somewhere',
            'privacy_search': 'public',
            'privacy_email': 'private',
            'privacy_im': 'private',
            'privacy_irctrack': 'public',
        }
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data['password1'] = 'secret'
        data['password2'] = 'othersecret'
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data['region'] = 'AL'
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)
        self.assertFormError(response, 'form', 'region',
                             ('The region you selected does not match the '
                              'country'))
        del data['region']

        data['password2'] = 'secret'
        response = self.client.post(url, data, follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 4)
        created = User.objects.get(username='******')
        self.assertTrue(created.check_password('secret'))
        self.assertEqual(len(response.redirect_chain), 1)

        # Logged in users go back to the homepage
        response = self.client.get(url)
        self.assertEqual(response.status_code, 302)
        self.client.session.flush()

        # Registration with an OpenID shouldn't ask for a password
        factory = RequestFactory()
        request = prepare_request(factory.get(url))
        response = signup(request)
        response.render()
        self.assertContains(response, 'foo.example.com')

        del data['password1']
        del data['password2']
        data['username'] = '******'
        data['email'] = '*****@*****.**'
        request = prepare_request(factory.post(url, data))
        response = signup(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response['Location'],
                         reverse('user_profile', args=['meh']))
        self.assertEqual(User.objects.count(), 5)
        self.assertEqual(DjangoPerson.objects.count(), 4)
Ejemplo n.º 2
0
    def test_signup(self):
        url = reverse('signup')
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

        data = {
            'username': '******',
            'email': '*****@*****.**',
            'first_name': 'Test',
            'last_name': 'User',
            'latitude': '45',
            'longitude': '2',
            'country': 'FR',
            'location_description': 'Somewhere',
            'privacy_search': 'public',
            'privacy_email': 'private',
            'privacy_im': 'private',
            'privacy_irctrack': 'public',
        }
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data['password1'] = 'secret'
        data['password2'] = 'othersecret'
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data['region'] = 'AL'
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)
        self.assertFormError(response, 'form', 'region',
                             ('The region you selected does not match the '
                              'country'))
        del data['region']

        data['password2'] = 'secret'
        response = self.client.post(url, data, follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 4)
        created = User.objects.get(username='******')
        self.assertTrue(created.check_password('secret'))
        self.assertEqual(len(response.redirect_chain), 1)

        # Logged in users go back to the homepage
        response = self.client.get(url)
        self.assertEqual(response.status_code, 302)
        self.client.session.flush()

        # Registration with an OpenID shouldn't ask for a password
        factory = RequestFactory()
        request = prepare_request(factory.get(url))
        response = signup(request)
        response.render()
        self.assertContains(response, 'foo.example.com')

        del data['password1']
        del data['password2']
        data['username'] = '******'
        data['email'] = '*****@*****.**'
        request = prepare_request(factory.post(url, data))
        response = signup(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response['Location'],
                         reverse('user_profile', args=['meh']))
        self.assertEqual(User.objects.count(), 5)
        self.assertEqual(DjangoPerson.objects.count(), 4)
Ejemplo n.º 3
0
    def test_signup(self):
        url = reverse("signup")
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

        data = {
            "username": "******",
            "email": "*****@*****.**",
            "first_name": "Test",
            "last_name": "User",
            "latitude": "45",
            "longitude": "2",
            "country": "FR",
            "location_description": "Somewhere",
            "privacy_search": "public",
            "privacy_email": "private",
            "privacy_im": "private",
            "privacy_irctrack": "public",
        }
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data["password1"] = "secret"
        data["password2"] = "othersecret"
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)

        data["region"] = "AL"
        response = self.client.post(url, data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 3)
        self.assertFormError(response, "form", "region", ("The region you selected does not match the " "country"))
        del data["region"]

        data["password2"] = "secret"
        response = self.client.post(url, data, follow=True)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(User.objects.count(), 4)
        created = User.objects.get(username="******")
        self.assertTrue(created.check_password("secret"))
        self.assertEqual(len(response.redirect_chain), 1)

        # Logged in users go back to the homepage
        response = self.client.get(url)
        self.assertEqual(response.status_code, 302)
        self.client.session.flush()

        # Registration with an OpenID shouldn't ask for a password
        factory = RequestFactory()
        request = prepare_request(factory.get(url))
        response = signup(request)
        response.render()
        self.assertTrue("foo.example.com" in response.content)

        del data["password1"]
        del data["password2"]
        data["username"] = "******"
        data["email"] = "*****@*****.**"
        request = prepare_request(factory.post(url, data))
        response = signup(request)
        self.assertEqual(response.status_code, 302)
        self.assertEqual(response["Location"], reverse("user_profile", args=["meh"]))
        self.assertEqual(User.objects.count(), 5)
        self.assertEqual(DjangoPerson.objects.count(), 4)