Ejemplo n.º 1
0
 def test_update_courses(self):
     u = User(name="unknown", email="*****@*****.**", status="inactive")
     _id = u.save()
     u = User.get(_id)
     self.assertFalse(u.courses, "Courses count")
     courses = [Course.get(1), Course.get(2), Course.get(3)]
     u.courses = courses
     u.update()
     u = User.get(_id)
     self.assertTrue(u.courses, "Courses count")
     self.assertEqual(u.courses, courses, "Update courses")
     u.delete()
Ejemplo n.º 2
0
class UserInfo(object):
    def __init__(self):
        router = Router(META_SERVERS, sync=False)
        self._user = User(router)
        self._marker = Marker()

    def add(self, user, password, uid):
        ret = self._user.get(user, 'uid')
        if not ret:
            self._user.put(user, password=password, uid=uid)
            self._marker.mark(uid, DOMAIN_USR, AREA)
            return True

    def get_password(self, user):
        return self._user.get(user, 'password')
Ejemplo n.º 3
0
 def get(self, request, *args, **kwargs):
     pk = kwargs.get('pk')
     if pk:
         obj = User.get(id=pk)
         if obj:
             obj.delete()
     return redirect(self.success_url)
Ejemplo n.º 4
0
def callback():
    # Get authorization code Google sent back to you
    code = request.args.get("code")

    # Find out what URL to hit to get tokens that allow you to ask for
    # things on behalf of a user
    google_provider_cfg = get_google_provider_cfg()
    token_endpoint = google_provider_cfg["token_endpoint"]

    # Prepare and send a request to get tokens! Yay tokens!
    token_url, headers, body = client.prepare_token_request(
        token_endpoint,
        authorization_response=request.url,
        redirect_url=request.base_url,
        code=code)
    token_response = requests.post(
        token_url,
        headers=headers,
        data=body,
        auth=(GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET),
    )

    # Parse the tokens!
    client.parse_request_body_response(json.dumps(token_response.json()))

    # Now that you have tokens (yay) let's find and hit the URL
    # from Google that gives you the user's profile information,
    # including their Google profile image and email
    userinfo_endpoint = google_provider_cfg["userinfo_endpoint"]
    uri, headers, body = client.add_token(userinfo_endpoint)
    userinfo_response = requests.get(uri, headers=headers, data=body)

    # You want to make sure their email is verified.
    # The user authenticated with Google, authorized your
    # app, and now you've verified their email through Google!
    if userinfo_response.json().get("email_verified"):
        unique_id = userinfo_response.json()["sub"]
        users_email = userinfo_response.json()["email"]
        picture = userinfo_response.json()["picture"]
        users_name = userinfo_response.json()["given_name"]
    else:
        return "User email not available or not verified by Google.", 400

    # Create a user in your db with the information provided
    # by Google
    user = User(id_=unique_id,
                name=users_name,
                email=users_email,
                profile_pic=picture,
                address="")

    # Doesn't exist? Add it to the database.
    if not User.get(unique_id):
        User.create(unique_id, users_name, users_email, picture, "")

    # Begin user session by logging the user in
    login_user(user)

    # Send user back to homepage
    return redirect("/dashboard/users/" + unique_id)
Ejemplo n.º 5
0
 def test_create_user(self):
     u = User(name='Gary Busey', email='*****@*****.**', status='active')
     _id = u.save()
     self.assertIsNotNone(_id, 'User id')
     u = User.get(id=_id)
     self.assertEqual(u.name, 'Gary Busey', 'User name')
     self.assertEqual(u.email, '*****@*****.**', 'User email')
     self.assertEqual(u.status, 'active', 'User status')
     u.delete()
Ejemplo n.º 6
0
 def test_delete_user(self):
     u = User(name='Jeff Bridges',
              email='*****@*****.**',
              status='inactive')
     _id = u.save()
     self.assertIsNotNone(_id, 'User id')
     u.delete()
     u = User.get(id=_id)
     self.assertIsNone(u, "Delete user")
Ejemplo n.º 7
0
    def test_added_category(self):
        u = User(name="unknown", email="*****@*****.**", status="inactive")

        courses = [Course.get(1), Course.get(2), Course.get(3)]

        u.courses = courses

        _id = u.save()

        u = User.get(id=_id)
        self.assertEqual(len(u.courses), len(courses), "Count courses")
        self.assertEqual(u.courses, courses, "Saving courses")
        u.delete()
Ejemplo n.º 8
0
    def test_update_user(self):
        u = User(name="unknown", email="*****@*****.**", status="inactive")
        _id = u.save()

        u = User.get(id=_id)
        self.assertEqual(u.name, 'unknown', 'User name')
        self.assertEqual(u.email, '*****@*****.**', 'User email')
        self.assertEqual(u.status, 'inactive', 'User status')

        u.name = 'Michael Cimino'
        u.update()
        u = User.get(id=_id)
        self.assertEqual(u.name, 'Michael Cimino', 'Update user name')
        self.assertEqual(u.email, '*****@*****.**', 'Update user email')
        self.assertEqual(u.status, 'inactive', 'Update user status')

        u.email = "*****@*****.**"
        u.update()
        u = User.get(id=_id)
        self.assertEqual(u.name, 'Michael Cimino', 'Update user name')
        self.assertEqual(u.email, '*****@*****.**', 'Update user email')
        self.assertEqual(u.status, 'inactive', 'Update user status')

        u.status = 'active'
        u.update()
        u = User.get(id=_id)
        self.assertEqual(u.name, 'Michael Cimino', 'Update user name')
        self.assertEqual(u.email, '*****@*****.**', 'Update user email')
        self.assertEqual(u.status, 'active', 'Update user status')

        self.assertIsNone(u.phone, "User phone is not null")
        u.phone = '+380123456789'
        u.update()
        u = User.get(id=_id)
        self.assertEqual(u.phone, '+380123456789', 'Update user phone')

        self.assertIsNone(u.mobile_phone, "User mobile phone is not null")
        u.mobile_phone = '+389876543210'
        u.update()
        u = User.get(id=_id)
        self.assertEqual(u.mobile_phone, '+389876543210',
                         'Update user mobile phone')
Ejemplo n.º 9
0
 def get_user(self):
     try:
         _id = int(self.kwargs.get('pk'))
     except:
         raise Http404
     return User.get(id=_id)
Ejemplo n.º 10
0
def load_user(user_id):
    return User.get(user_id)