コード例 #1
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_as_main(self):
     user = User(main_character_id=self.char.id)
     user.save()
     logger.debug("-----------------------------------------")
     logger.debug("   test_assess_character_user_as_main")
     logger.debug("-----------------------------------------")
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, user)
コード例 #2
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_with_bad_api(self):
     logger.debug("-----------------------------------------")
     logger.debug(" test_assess_character_user_with_bad_api")
     logger.debug("-----------------------------------------")
     self.api.is_valid=False
     user = User(main_character_id=999999)
     user.save()
     self.api.owner = user
     self.api.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #3
0
 def test_assess_character_user_with_bad_api(self):
     logger.debug("-----------------------------------------")
     logger.debug(" test_assess_character_user_with_bad_api")
     logger.debug("-----------------------------------------")
     self.api.is_valid = False
     user = User(main_character_id=999999)
     user.save()
     self.api.owner = user
     self.api.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #4
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_change_as_main(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_as_main")
     logger.debug("-----------------------------------------")
     main_user = User(main_character_id=self.char.id)
     main_user.save()
     other_user = User(main_character_id=9999999)
     other_user.save()
     self.char.user = other_user
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, main_user)
コード例 #5
0
 def test_assess_character_user_change_as_main(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_as_main")
     logger.debug("-----------------------------------------")
     main_user = User(main_character_id=self.char.id)
     main_user.save()
     other_user = User(main_character_id=9999999)
     other_user.save()
     self.char.user = other_user
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, main_user)
コード例 #6
0
 def test_assess_character_user_with_good_api(self):
     logger.debug("-----------------------------------------")
     logger.debug(" test_assess_character_user_with_good_api")
     logger.debug("-----------------------------------------")
     self.api.is_valid = True
     user = User(main_character_id=999999)
     user.save()
     self.api.owner = user
     self.api.save()
     self.api.characters.add(self.char)
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, user)
コード例 #7
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_with_good_api(self):
     logger.debug("-----------------------------------------")
     logger.debug(" test_assess_character_user_with_good_api")
     logger.debug("-----------------------------------------")
     self.api.is_valid=True
     user = User(main_character_id=999999)
     user.save()
     self.api.owner = user
     self.api.save()
     self.api.characters.add(self.char)
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, user)
コード例 #8
0
    def setUp(self):
        self.client = APIClient()
        self.token = None
        mods.mock_query(self.client)

        user_noadmin = User(email='*****@*****.**')
        user_noadmin.set_password('qwerty')
        user_noadmin.save()

        user_admin = User(email='*****@*****.**', is_staff=True)
        user_admin.set_password('qwerty')
        user_admin.save()
コード例 #9
0
ファイル: serializers.py プロジェクト: tech-cent/landreg
 def create(self, validated_data):
     """
     Create and return user instance, given validate data
     """
     user = User()
     user.email = validated_data.get('email')
     user.set_password(validated_data.get('password'))
     user.phone_number = validated_data.get('phone_number')
     user.username = validated_data.get('username')
     user.is_active = False
     user.save()
     return user
コード例 #10
0
ファイル: views.py プロジェクト: l-liava-l/real_estate
class Login(BaseView, PhoneMixin):

    def get_sms_code(self, request):
        sms_code = request.POST.get('key')
        user_sms_code = redis.get('nedviga_user_sms_{}'.format(self.phone))
        if user_sms_code:
            if int(user_sms_code) == int(sms_code):
                if not User.objects.filter(phone=self.phone):
                    self.user = User()
                    self.user.phone = self.phone
                    self.user.set_password(DEFAULT_PASSWORD)
                    self.user.save()
            else:
                return self.render_internal_error('Invalid sms-code')
        else:
            return self.render_internal_error('Sms-code expired')

    def post(self, request):
        """
        :param request:
        :param phone: номер телефона
        :param sms_code: sms код проверки
        :return:
        Авторизует пользователя по номеру телефона и sms-коду
        Варианты ошибок:
        'User not registered' - пользователь с таким телефоном не зарегистрирован
        'User is blocked' - пользователь заблокирован
        'Invalid sms-code' - неверный sms-код авторизации
        """
        result = self.get_phone(request)
        if result:
            return result

        result = self.get_user(self.phone, False)
        if result:
            return result

        result = self.get_sms_code(request)
        if result:
            return result

        # еще раз вытаскиваем юзера, чтобы django его авторизировала, просто User передать нельзя
        self.user = authenticate(phone=self.phone, password=DEFAULT_PASSWORD)

        # удаляем все другие сессии этого пользователя, чтобы был залогинен всегда с одного устройства
        my_old_sessions = Session.objects.all()
        for row in my_old_sessions:
            if row.get_decoded().get("_auth_user_id") == self.user.id:
                row.delete()
        # теперь спокойно логиним
        login(request, self.user)
        return self.render_json_response(data={'sessionid': request.session.session_key})
コード例 #11
0
    def generate_batch_wishes(self, n_propositions=10, n_students=168):
        """ Creates a campaign with propositions, users, and 4 categories in which the students are distributed with
        the probabilities 0.8, 0.1, 0.06, 0.04 """

        np.random.seed(0)

        campaign = Campaign(name="Batch campaign", manager_id="17bocquet")
        campaign.save()

        propositions = []
        for i in range(n_propositions):
            proposition = Proposition(
                campaign_id=campaign.id,
                name="proposition_{}".format(i),
                # number_of_places=int(ceil(n_students / n_propositions)), TODO: remove this or restore it in the model.
            )
            proposition.save()
            propositions.append(proposition)

        categories = []
        for name in ["category_{}".format(i) for i in range(4)]:
            category = Category(name=name, campaign=campaign)
            category.save()
            categories.append(category)

        user_campaigns = []
        for i in range(n_students):
            user = User(
                id="19user{}".format(i),
                first_name="firstname {}".format(i),
                last_name="lastname {}".format(i),
                year_of_entry=2019,
                email="email{}@mpt.fr".format(i),
            )
            user.save()

            category = np.random.choice(categories,
                                        1,
                                        p=[0.8, 0.1, 0.06, 0.04])[0]
            uc = UserCampaign(user=user, campaign=campaign, category=category)
            uc.save()
            user_campaigns.append(uc)

            if i < 157:  # simulate that a few users didn't answer the form
                for (rank, proposition) in enumerate(
                        np.random.permutation(propositions)):
                    wish = Wish(user_campaign=uc,
                                proposition=proposition,
                                rank=rank)
                    wish.save()

        return campaign, propositions, categories, user_campaigns
コード例 #12
0
    def _get_client_with_user(self, username, with_token=False):
        user = User(**{"username": username, "phone_number": "+77772537792", "password": "******"})
        user.save()

        client = APIClient()

        if with_token:
            token = Token.objects.create(user=user)
            client.credentials(HTTP_AUTHORIZATION="Token " + token.key)

        client.user = user

        return client
コード例 #13
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_on_last_api_invalid(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_on_last_api_invalid")
     logger.debug("-----------------------------------------")
     self.api.is_valid=False
     self.api.characters.add(self.char)
     user = User(main_character_id=99999999)
     user.save()
     self.api.owner = user
     self.char.user = user
     self.api.save()
     self.char.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #14
0
 def test_assess_character_user_on_last_api_invalid(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_on_last_api_invalid")
     logger.debug("-----------------------------------------")
     self.api.is_valid = False
     self.api.characters.add(self.char)
     user = User(main_character_id=99999999)
     user.save()
     self.api.owner = user
     self.char.user = user
     self.api.save()
     self.char.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #15
0
 def test_assess_character_user_on_api_invalid_as_main(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_on_api_invalid_as_main")
     logger.debug("-----------------------------------------")
     self.api.is_valid = False
     self.api.characters.add(self.char)
     user = User(main_character_id=self.char.id)
     user.save()
     self.api.owner = user
     self.char.user = user
     self.api.save()
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, user)
コード例 #16
0
    def test_add_voters_sex_fail_invalid_voting_id(self):
        census_before = len(Census.objects.all().values_list('voting_id',
                                                             flat=True))

        user1 = User(email='*****@*****.**',
                     password='******',
                     city='Madrid',
                     sex='M')
        user1.save()

        user2 = User(email='*****@*****.**',
                     password='******',
                     city="Lugo",
                     sex="M")
        user2.save()

        user3 = User(email='*****@*****.**',
                     password='******',
                     city="Palencia",
                     sex="W")
        user3.save()

        admin = User(email='*****@*****.**', password='******')
        admin.is_staff = True
        admin.save()

        voting_id = "88"
        self.client.force_login(admin)
        response2 = self.client.get(
            '/census/addAllBySex/?voting_id={}&sex={}'.format(voting_id, 'M'))
        census_after = len(Census.objects.all().values_list('voting_id',
                                                            flat=True))

        self.assertEqual(response2.status_code, 302)
        self.assertTrue(census_before == census_after)
コード例 #17
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_on_api_invalid_as_main(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_on_api_invalid_as_main")
     logger.debug("-----------------------------------------")
     self.api.is_valid=False
     self.api.characters.add(self.char)
     user = User(main_character_id=self.char.id)
     user.save()
     self.api.owner = user
     self.char.user = user
     self.api.save()
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, user)
コード例 #18
0
 def create_participants(self, meeting, participants, user):
     for participant in participants:
         try:
             user = User.objects.get(email=participant)
             meetingParticipant = MeetingParticipant(meeting=meeting,
                                                     participant=user)
             meetingParticipant.save()
         except:
             user = User(username=participant,
                         email=participant,
                         password='')
             user.save()
             meetingParticipant = MeetingParticipant(meeting=meeting,
                                                     participant=user)
             meetingParticipant.save()
コード例 #19
0
    def create_user(cls, username: str, email: str, first_name: str,
                    last_name: str, password: str) -> User:
        if User.objects.filter(Q(username=username) | Q(email=email)).exists():
            raise UserAlreadyExistsException

        user = User(
            username=username,
            email=email,
            first_name=first_name,
            last_name=last_name,
        )
        user.set_password(password)
        user.save()

        return user
コード例 #20
0
    def create(self, validated_data):
        user = User(
            email=validated_data['email'],
            first_name=validated_data['first_name'],
            last_name=validated_data['last_name']
        )
        user.set_password(validated_data['password'])
        user.is_active = True
        hunter = PyHunter(settings.HUNTER_API_KEY)
        hunter.email_verifier(user.email)
        pp = pprint.PrettyPrinter(indent=4)
        pp.pprint(hunter.email_verifier(user.email))
        user.save()

        return user
コード例 #21
0
    def create(self, validated_data):
        if (User.objects.filter(
                username=validated_data.get('email')).exists()):
            return {'status': 'failed', 'message': 'Email already registered'}

        profile_data = validated_data.pop('UserProfile')
        password = validated_data.pop('password')
        user = User(**validated_data)
        user.set_password(password)
        user.save()
        UserProfile.objects.create(user=user, **profile_data)

        Dashboard.objects.create(user=user)

        return user
コード例 #22
0
    def test_add_voters_registered(self):

        census_before = len(Census.objects.all().values_list('voting_id',
                                                             flat=True))

        admin = User(email='*****@*****.**', password='******')
        admin.is_staff = True
        admin.save()

        voting_id = "40"
        self.client.force_login(admin)
        response2 = self.client.get(
            '/census/addAllRegistered/?voting_id={}'.format(voting_id))
        census_after = len(Census.objects.all().values_list('voting_id',
                                                            flat=True))

        self.assertEqual(response2.status_code, 302)
        self.assertTrue(census_before < census_after)
コード例 #23
0
def git_check(request):
    request_code = request.GET.get('code')
    oauth_git = OAuthGitHub(settings.GITHUB_APP_ID, settings.GITHUB_KEY,
                            settings.GITHUB_CALLBACK_URL)
    try:
        access_token = oauth_git.get_access_token(
            request_code)  # 获取access token
        time.sleep(0.1)  # 此处需要休息一下,避免发送urlopen的10060错误
    except Exception as e:  # 获取令牌失败,反馈失败信息
        print(e)
        return redirect('home')
    print('access_token: ', access_token)
    infos = oauth_git.get_user_info()  # 获取用户信息
    nickname = infos.get('login', '')
    image_url = infos.get('avatar_url', '')
    open_id = str(oauth_git.openid)
    signature = infos.get('bio', '')
    if not signature:
        signature = "无个性签名"
    githubs = OAuth.objects.filter(openid=open_id,
                                   type='1')  # 查询是否该第三方账户已绑定本网站账号
    if githubs:  # 若已绑定,直接登录
        auth_login(request, githubs[0].user)
        return redirect('home')
    else:  # 否则尝试获取用户邮箱用于绑定账号
        try:
            email = oauth_git.get_email()
        except Exception as e:  # 若获取失败,则跳转到绑定用户界面,让用户手动输入邮箱
            print(e)
            return redirect('home')
    users = User.objects.filter(email=email)  # 若获取到邮箱,则查询是否存在本站用户
    if users:  # 若存在,则直接绑定
        user = users[0]
    else:  # 若不存在,则新建本站用户
        while User.objects.filter(username=nickname):  # 防止用户名重复
            nickname = nickname + '*'
        user = User(username=nickname, email=email)
        pwd = str(uuid.uuid1())  # 随机设置用户密码
        user.set_password(pwd)
        user.save()
    oauth = OAuth(user=user, openid=open_id, type='1')
    oauth.save()  # 保存后登陆
    auth_login(request, user)
    return redirect('home')
コード例 #24
0
ファイル: test.py プロジェクト: taxidriver77/django-angular
 def test_errors(self):
     u = User(email=mock_user2["email"], username=mock_user2["username"])
     u.set_password(mock_user2["password"])
     u.save()
     response = self.client.post('/api/v1/auth/login/',
                                 data=json.dumps({
                                     "email":
                                     mock_user2["email"],
                                     "password":
                                     mock_user2["password"]
                                 }),
                                 content_type="application/json")
     self.assertEquals(response.status_code, 200)
     response = self.client.delete('/api/v1/posts/%s/' % self.post["id"])
     self.assertEquals(response.status_code, 403)
     response = self.client.put('/api/v1/posts/%s/' % self.post["id"],
                                data=json.dumps({"content": "new content"}),
                                content_type="application/json")
     self.assertEquals(response.status_code, 403)
コード例 #25
0
def signup(request):
    response_dict = json.loads(request.body)
    email = response_dict['email']
    password = response_dict['password']
    hashed_password = make_password(password)
    if is_email_not_valid(email) or is_password_not_valid(password):
        message = 'Either email or password are incorrect.'
        response = JsonResponse({'status': False, 'message': message})
        response.status_code = 400
        return response

    u = User(email=email, password=hashed_password)
    u.save()

    token = jwt.encode({'user_id': u.id}, 'secret', algorithm='HS256')

    data = {'token': token.decode('utf-8'), 'user_id': u.id}

    return JsonResponse(data)
コード例 #26
0
	def form_valid(self,form):
		username=form.cleaned_data.get('username')
		first_name =form.cleaned_data.get('first_name')
		last_name=form.cleaned_data.get('last_name')
		password=form.cleaned_data.get('password')
		email=form.cleaned_data.get('email')
		address=form.cleaned_data.get('address')
		date_of_birth=form.cleaned_data.get('date_of_birth')

		user=User(username=username, first_name=first_name, last_name=last_name, email=email, address=address, date_of_birth=date_of_birth)
		
		if User.objects.filter(username=user.username).exists():
			#check whether user is not already exist
			messages.error(self.request,'Username already exist')
			return redirect('forum:sign-up')

		user.set_password(password)
		user.save()
		messages.success(self.request, 'User Register Successfully')
		return redirect(self.success_url)
コード例 #27
0
    def post(self, request):
        form = RegisterForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            data = form.cleaned_data
            user = User()
            user.email = data['email']
            user.set_password(data['password1'])
            user.first_name = data['first_name']
            user.last_name = data['last_name']
            user.save()

            group = Group.objects.get(name='Users')
            user.groups.add(group)

            user.save()

            return redirect("index")

        return render_to_response(self.template_name, {'form': form}, context_instance=RequestContext(request))
コード例 #28
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_change_on_bad_api(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_on_bad_api")
     logger.debug("-----------------------------------------")
     good_user = User(main_character_id=8888888)
     good_user.save()
     bad_user = User(main_character_id=9999999)
     bad_user.save()
     self.api.characters.add(self.char)
     self.api.owner = good_user
     self.api.is_valid=True
     bad_api = EVEApiKeyPair(id=99999999, vcode="test api please ignore", owner=bad_user)
     bad_api.is_valid=False
     self.char.user = bad_user
     self.api.save()
     bad_api.save()
     bad_api.characters.add(self.char)
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, good_user)
コード例 #29
0
ファイル: tests.py プロジェクト: Adarnof/adarnauth
 def test_assess_character_user_change_on_new_api(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_on_new_api")
     logger.debug("-----------------------------------------")
     first_user = User(main_character_id=8888888)
     first_user.save()
     new_user = User(main_character_id=9999999)
     new_user.save()
     self.api.characters.add(self.char)
     self.api.owner = first_user
     self.api.is_valid=True
     self.api.save()
     other_api = EVEApiKeyPair(id=9999999, vcode="test api please ignore", owner=new_user)
     other_api.is_valid=True
     other_api.save()
     other_api.characters.add(self.char)
     self.char.user = first_user
     self.char.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #30
0
    def test_add_voters_age(self):
        census_before = len(Census.objects.all().values_list('voting_id',
                                                             flat=True))

        admin = User(email='*****@*****.**', password='******')
        admin.is_staff = True
        admin.save()
        user1 = User(email='*****@*****.**',
                     password='******',
                     city='sevilla',
                     sex='M',
                     birthdate=date(year=2000, month=1, day=1))
        user1.save()
        user2 = User(email='*****@*****.**',
                     password='******',
                     city='sevilla',
                     sex='M',
                     birthdate=date(year=1992, month=1, day=1))
        user2.save()
        voting_id = "40"
        self.client.force_login(admin)
        response2 = self.client.get(
            '/census/addAllByAge/?voting_id={}&younger={}&older={}'.format(
                voting_id, 18, 28))
        census_after = len(Census.objects.all().values_list('voting_id',
                                                            flat=True))

        self.assertEqual(response2.status_code, 302)
        self.assertTrue(census_after - census_before == 2)
コード例 #31
0
 def test_assess_character_user_change_on_bad_api(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_on_bad_api")
     logger.debug("-----------------------------------------")
     good_user = User(main_character_id=8888888)
     good_user.save()
     bad_user = User(main_character_id=9999999)
     bad_user.save()
     self.api.characters.add(self.char)
     self.api.owner = good_user
     self.api.is_valid = True
     bad_api = EVEApiKeyPair(id=99999999,
                             vcode="test api please ignore",
                             owner=bad_user)
     bad_api.is_valid = False
     self.char.user = bad_user
     self.api.save()
     bad_api.save()
     bad_api.characters.add(self.char)
     self.char.save()
     assess_character_owner(self.char)
     self.assertEqual(self.char.user, good_user)
コード例 #32
0
 def test_assess_character_user_change_on_new_api(self):
     logger.debug("-----------------------------------------")
     logger.debug("test_assess_character_user_change_on_new_api")
     logger.debug("-----------------------------------------")
     first_user = User(main_character_id=8888888)
     first_user.save()
     new_user = User(main_character_id=9999999)
     new_user.save()
     self.api.characters.add(self.char)
     self.api.owner = first_user
     self.api.is_valid = True
     self.api.save()
     other_api = EVEApiKeyPair(id=9999999,
                               vcode="test api please ignore",
                               owner=new_user)
     other_api.is_valid = True
     other_api.save()
     other_api.characters.add(self.char)
     self.char.user = first_user
     self.char.save()
     assess_character_owner(self.char)
     self.assertFalse(self.char.user)
コード例 #33
0
    def mutate(cls, root, info, **kwargs):
        if not isinstance(info.context.user, User):
            raise UnauthorizedException()

        if not info.context.user.is_superuser:
            raise ForbiddenException()

        user = User()

        create_kwargs = dict(kwargs)

        del create_kwargs['password']

        for key, value in create_kwargs.items():
            setattr(user, key, value)

        user.set_password(kwargs.get('password'))

        user.is_staff = user.is_superuser

        user.save()

        return CreateUser(user=user)
コード例 #34
0
 def setUp(self):
     self.product_source = Product(
         name="Coca-Cola Classic",
         code="5449000000996",
         nutriscore="e",
         url="https://fr.openfoodfacts.org/produit/5449000000996/coca-cola",
         popularity=2802)
     self.product_source.save()
     self.product_target = Product(
         name="Coca-Cola Zero",
         code="5449000133335",
         nutriscore="b",
         url=
         "https://fr.openfoodfacts.org/produit/5449000133335/coca-cola-zero",
         popularity=181)
     self.product_target.save()
     test_user = User(email='*****@*****.**',
                      password=None,
                      first_name='essai',
                      last_name='register')
     test_user.set_password('blabla75')
     test_user.save()
     self.target_user = User.objects.get(email='*****@*****.**')
コード例 #35
0
ファイル: addpost.py プロジェクト: vaibhavmule/csclub
 def handle(self, *args, **options):
     pwd = os.path.dirname(__file__)
     parsed_data = wxr_parser.parse(pwd + '/wordpress.xml')
     site = Site.objects.get(pk=settings.SITE_ID)
     for post in parsed_data['posts']:
         if post['status'] and post['title'] and post['slug']:
             username = post['creator']
             try:
                 user = User.objects.get(username=username)
             except User.DoesNotExist:
                 user = User(username=username)
                 user.save()
             post_obj = Post(author=user,
                             slug=post['slug'],
                             title=post['title'],
                             text=post['content'],
                             published_date=post['pub_date'])
             post_obj.save()
             # Redirect.objects.create(
             #     site=site,
             #     old_path='/blog/' + post['slug'] + '/',
             #     new_path='/@' + username + '/' + post_obj.slug + '/')
             self.stdout.write(self.style.SUCCESS('ok'))
コード例 #36
0
    def test_add_voters_registered_fail_votingId(self):

        census_before = len(Census.objects.all().values_list('voting_id',
                                                             flat=True))

        user1 = User(email='*****@*****.**',
                     password='******',
                     city='sevilla',
                     sex='M')
        user1.save()

        admin = User(email='*****@*****.**', password='******')
        admin.is_staff = True
        admin.save()

        self.client.force_login(admin)
        voting_id = "90"
        response2 = self.client.get(
            '/census/addAllRegistered/?voting_id={}'.format(voting_id))
        census_after = len(Census.objects.all().values_list('voting_id',
                                                            flat=True))

        self.assertEqual(response2.status_code, 302)
        self.assertTrue(census_before == census_after)
コード例 #37
0
    def post(self, request):

        data = google_request_oauth2(request.data.get("token"))

        if 'error' in data:
            content = {
                'message':
                'wrong google token / this google token is already expired.'
            }
            return Response(data=content, status=status.HTTP_401_UNAUTHORIZED)

        # create user if not exist
        try:
            user = User.objects.get(email=data.get('email'))
        except User.DoesNotExist:
            user = User()
            user.username = data.get('email')
            # provider random default password
            user.password = make_password(
                CustomUserManager().make_random_password())
            user.email = data.get('email')
            user.first_name = data.get('given_name')
            user.last_name = data.get('family_name')
            user.is_google = True
            user.save()

        token = RefreshToken.for_user(
            user)  # generate token without username & password
        response = {}
        user_serializer = UserSerializer(user)
        response['user'] = user_serializer.data
        response['access'] = str(token.access_token)
        response['refresh'] = str(token)
        response['token_expire_at'] = token.access_token.get('exp')
        response['refresh_token_expire_at'] = token.get('exp')
        return Response(response)
コード例 #38
0
    def test_add_new_voters(self):

        user1 = User(email='*****@*****.**',
                     id='60',
                     password='******',
                     city='sevilla',
                     sex='M')
        user1.save()

        user2 = User(email='*****@*****.**',
                     id='61',
                     password='******',
                     city="Murcia",
                     sex="N")
        user2.save()

        data = {'voting_id': 40, 'voters': [60, 61]}
        response = self.client.post('/census/', data, format='json')
        self.assertEqual(response.status_code, 201)
        self.client.force_login(user1)

        user3 = User(email='*****@*****.**',
                     id='62',
                     password='******',
                     city="Zaragoza",
                     sex="W")
        user3.save()
        data = {'voting_id': 40, 'voters': [62]}
        response = self.client.post('/census/', data, format='json')
        self.assertEqual(response.status_code, 201)

        user4 = User(email='*****@*****.**',
                     id='63',
                     password='******',
                     city="Tarragona",
                     sex="W")
        user4.save()
        self.login()
        data = {'voting_id': 40, 'voters': [63]}
        response = self.client.post('/census/', data, format='json')
        self.assertEqual(response.status_code, 201)
コード例 #39
0
    def test_add_voters_city_fail_not_staff(self):

        census_before = len(Census.objects.all().values_list('voting_id',
                                                             flat=True))

        user1 = User(email='*****@*****.**',
                     password='******',
                     city='sevilla',
                     sex='M')
        user1.save()

        user2 = User(email='*****@*****.**',
                     password='******',
                     city="Murcia",
                     sex="N")
        user2.save()

        user3 = User(email='*****@*****.**',
                     password='******',
                     city="Albacete",
                     sex="W")
        user3.save()

        admin = User(email='*****@*****.**', password='******')
        admin.is_staff = False
        admin.save()

        voting_id = "40"
        self.client.force_login(admin)
        response2 = self.client.get(
            '/census/addAllInCity/?voting_id={}&city={}'.format(
                voting_id, 'Sevilla'))
        census_after = len(Census.objects.all().values_list('voting_id',
                                                            flat=True))

        self.assertEqual(response2.status_code, 302)
        self.assertTrue(census_before == census_after)
コード例 #40
0
ファイル: functions.py プロジェクト: GinaGusan/Lab1_IPP
def save_user(email, name_surname, password):
    user = User(email=email, name_surname= name_surname, password=password)
    user.save()
    return user
コード例 #41
0
ファイル: tests.py プロジェクト: CodingForChange/mootiro-maps
class VersionAdminTest(TestCase):

    urls = "reversion.tests"

    def setUp(self):
        self.user = User(
            username = "******",
            is_staff = True,
            is_superuser = True,
        )
        self.user.set_password("bar")
        self.user.save()
        self.client.login(username="******", password="******")

    def testAutoRegisterWorks(self):
        self.assertTrue(reversion.is_registered(ChildTestAdminModel))
        self.assertTrue(reversion.is_registered(ParentTestAdminModel))
        
    def testRevisionSavedOnPost(self):
        self.assertEqual(ChildTestAdminModel.objects.count(), 0)
        # Create an instance via the admin.
        response = self.client.post("/admin/auth/childtestadminmodel/add/", {
            "parent_name": "parent instance1 version1",
            "child_name": "child instance1 version1",
            "_continue": 1,
        })
        self.assertEqual(response.status_code, 302)
        obj_pk = response["Location"].split("/")[-2]
        obj = ChildTestAdminModel.objects.get(id=obj_pk)
        # Check that a version is created.
        versions = reversion.get_for_object(obj)
        self.assertEqual(versions.count(), 1)
        self.assertEqual(versions[0].field_dict["parent_name"], "parent instance1 version1")
        self.assertEqual(versions[0].field_dict["child_name"], "child instance1 version1")
        # Save a new version.
        response = self.client.post("/admin/auth/childtestadminmodel/%s/" % obj_pk, {
            "parent_name": "parent instance1 version2",
            "child_name": "child instance1 version2",
            "_continue": 1,
        })
        self.assertEqual(response.status_code, 302)
        # Check that a version is created.
        versions = reversion.get_for_object(obj)
        self.assertEqual(versions.count(), 2)
        self.assertEqual(versions[0].field_dict["parent_name"], "parent instance1 version2")
        self.assertEqual(versions[0].field_dict["child_name"], "child instance1 version2")
        # Check that the versions can be listed.
        response = self.client.get("/admin/auth/childtestadminmodel/%s/history/" % obj_pk)
        self.assertContains(response, "child instance1 version2")
        self.assertContains(response, "child instance1 version1")
        # Check that a version can be rolled back.
        response = self.client.post("/admin/auth/childtestadminmodel/%s/history/%s/" % (obj_pk, versions[1].pk), {
            "parent_name": "parent instance1 version3",
            "child_name": "child instance1 version3",
        })
        self.assertEqual(response.status_code, 302)
        # Check that a version is created.
        versions = reversion.get_for_object(obj)
        self.assertEqual(versions.count(), 3)
        self.assertEqual(versions[0].field_dict["parent_name"], "parent instance1 version3")
        self.assertEqual(versions[0].field_dict["child_name"], "child instance1 version3")
        # Check that a deleted version can be viewed.
        obj.delete()
        response = self.client.get("/admin/auth/childtestadminmodel/recover/")
        self.assertContains(response, "child instance1 version3")
        # Check that a deleted version can be recovered.
        response = self.client.post("/admin/auth/childtestadminmodel/recover/%s/" % versions[0].pk, {
            "parent_name": "parent instance1 version4",
            "child_name": "child instance1 version4",
        })
        obj = ChildTestAdminModel.objects.get(id=obj_pk)
        
    def tearDown(self):
        self.client.logout()
        self.user.delete()
        del self.user
        ChildTestAdminModel.objects.all().delete()
コード例 #42
0
 def setUpClassData(cls):
     u = User(email=mock_user1["email"], username=mock_user1["username"])
     u.set_password(mock_user1["password"])
     u.save()