Example #1
0
 def login_as_admin(self):
     add_user('admin', 'admin', 'admin')
     self.app.post('/api/user/current/',
                   data={
                       'name': 'admin',
                       'password': '******'
                   })
Example #2
0
    def test_authenticated(self):
        add_user('name1', 'pw1', 'normal')
        add_user('name2', 'pw2', 'disable')
        import fm

        self.api = Api(fm.app)
        self.api.add_resource(AuthResource, '/test/api/auth/')

        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403
        rv = self.app.post('/api/user/current/',
                           data={
                               'name': 'name1',
                               'password': '******'
                           })
        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv is True
        rv = self.app.post('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403

        rv = self.app.delete('/api/user/current/')
        rv = self.app.post('/api/user/current/',
                           data={
                               'name': 'name2',
                               'password': '******'
                           })
        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403
Example #3
0
    def test_authenticated(self):
        add_user('name1', 'pw1', 'normal')
        add_user('name2', 'pw2', 'disable')
        import fm

        self.api = Api(fm.app)
        self.api.add_resource(AuthResource, '/test/api/auth/')

        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403
        rv = self.app.post('/api/user/current/',
                           data={'name': 'name1',
                                 'password': '******'})
        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv is True
        rv = self.app.post('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403

        rv = self.app.delete('/api/user/current/')
        rv = self.app.post('/api/user/current/',
                           data={'name': 'name2',
                                 'password': '******'})
        rv = self.app.get('/test/api/auth/')
        rv = json.loads(rv.data)
        assert rv['status'] == 403
Example #4
0
 def test_delete(self):
     add_user('name1', 'pw1', 'normal')
     rv = self.app.post('/api/user/current/',
                        data={'name': 'name1',
                              'password': '******'})
     rv = self.app.delete('/api/user/current/')
     rv = self.app.get('/api/user/current/')
     rv = json.loads(rv.data)
     assert rv is None
Example #5
0
 def test_add_user(self):
     name = 'user_name'
     password = '******'
     level = 'normal'
     user = add_user(name, password, level)
     assert add_user(name, password, level) is None
     assert len(get_user(key=user.key)) == 1
     user = get_user()[0]
     assert user.name == 'user_name'
     assert user.password == _encrypt('user_name', 'user_password')
     assert check_user_password(user, 'user_password')
     assert user.level == 'normal'
Example #6
0
    def test_get(self):
        rv = self.app.get('/api/user/current/')
        rv = json.loads(rv.data)
        assert rv is None

        add_user('name1', 'pw1', 'normal')
        rv = self.app.post('/api/user/current/',
                           data={'name': 'name1',
                                 'password': '******'})
        rv = self.app.get('/api/user/current/')
        rv = json.loads(rv.data)
        assert rv['name'] == 'name1'
        assert rv['level'] == 'normal'
Example #7
0
    def test_add_user_history(self):
        user = add_user('name1', 'pw1', 'normal')
        add_user_history(user, 'favor', 'f' * 24)
        user = get_user(key=user.key)[0]
        assert len(user.history) == 1
        assert len(user.favor) == 1
        assert len(user.dislike) == 0

        add_user_history(user, 'dislike', 'f' * 24)
        user = get_user(key=user.key)[0]
        assert len(user.history) == 2
        assert len(user.favor) == 0
        assert len(user.dislike) == 1

        add_user_history(user, 'favor', 'f' * 24)
        user = get_user(key=user.key)[0]
        assert len(user.history) == 3
        assert len(user.favor) == 1
        assert len(user.dislike) == 0

        add_user_history(user, 'listened', 'f' * 24)
        user = get_user(key=user.key)[0]
        assert len(user.history) == 4
        assert user.listened == 1

        add_user_history(user, 'shared', 'f' * 24)
        user = get_user(key=user.key)[0]
        assert len(user.history) == 5
        assert len(user.shared) == 1
Example #8
0
 def test_delete(self):
     self.login_as_admin()   # this will add a user name admin!
     user = add_user('name1', 'pw1', 'normal')
     user_key = user.key
     assert len(get_user(key=user_key)) == 1
     self.app.delete('/api/user/%s/' % (user_key))
     assert len(get_user(key=user_key)) == 0
Example #9
0
 def test_delete_user(self):
     name = 'user_name'
     password = '******'
     level = 'normal'
     user = add_user(name, password, level)
     assert len(get_user()) == 1
     user = get_user()[0]
     delete_user(user)
     assert len(get_user()) == 0
Example #10
0
def add_rekening():
    os.system('cls')
    users = load_users()
    print(f"{'Add rekening baru':^50}")
    print("=" * 50)
    user_name = input_string("Nama lengkap: ")
    user_age = input_int("Umur: ")
    while True:
        user_id = input_id("Id: ")
        if user_id not in [user.id for user in users]:
            break
        else:
            print("Id telah digunakan")
    user_pin = input_pin("Pin: ")
    user_email = input_email("Email: ")
    user = User(user_id, user_name, user_pin, user_age, 0, "active",
                user_email)
    add_user(user)
    print('Rekening berhasil ditambahkan')
    os.system('pause')
Example #11
0
 def test_patch(self):
     self.login_as_admin()   # this will add a user name admin!
     user = add_user('name1', 'pw1', 'normal')
     user_key = user.key
     rv = self.app.patch('/api/user/%s/' % (user_key),
                         data={'password': '******',
                               'level': 'admin'})
     rv = json.loads(rv.data)
     assert rv['level'] == 'admin'
     user = get_user(key=user_key)[0]
     assert check_user_password(user, 'new_password')
Example #12
0
 def test_update_user(self):
     name = 'user_name'
     password = '******'
     level = 'normal'
     add_user(name, password, level)
     user = get_user()[0]
     update_user(user, password='******', level='disable')
     user = get_user()[0]
     assert user.name == 'user_name'
     assert user.password == _encrypt(user.name, 'new_password')
     assert check_user_password(user, 'new_password')
     assert user.level == 'disable'
     try:
         update_user(user, name='some_name')
     except AttributeError:
         pass
     try:
         update_user(user, level='some_level')
     except AssertionError:
         pass
Example #13
0
 def test_get_user_history(self):
     # add user
     user = add_user('name1', 'pw1', 'normal')
     # add music
     music1 = add_music('title', 'artist', 'album', 'company', '2013', '64',
                        self.cover, self.audio, 'uuid1')
     self.cover.seek(0)
     self.audio.seek(0)
     music2 = add_music('title', 'artist', 'album', 'company', '2013', '64',
                        self.cover, self.audio, 'uuid2')
     add_user_history(user, 'favor', music1.key)
     add_user_history(user, 'dislike', music2.key)
     assert len(get_user_history(user, 0, 10)) == 2
Example #14
0
    def test_post(self):
        add_user('name1', 'pw1', 'normal')
        add_user('name2', 'pw2', 'disable')

        rv = self.app.post('/api/user/current/',
                           data={'name': 'name1',
                                 'password': '******'})
        rv = json.loads(rv.data)
        assert rv['name'] == 'name1'
        assert rv['level'] == 'normal'

        rv = self.app.post('/api/user/current/',
                           data={'name': 'name1',
                                 'password': '******'})
        rv = json.loads(rv.data)
        assert rv is None

        rv = self.app.post('/api/user/current/',
                           data={'name': 'name2',
                                 'password': '******'})
        rv = json.loads(rv.data)
        assert rv is None
Example #15
0
def setup():
    '''setup db & update channel & get demo music'''
    print 'setuping...'
    print 'setting admin'
    try:
        assert add_user(ADMIN_NAME, ADMIN_PASSWORD, 'admin'), 'admin already exist!!!this will pass'
    except:
        pass
    print 'login douban...'
    assert login(), 'check network or the DOUBAN_USER_NAME, DOUBAN_USER_PASSWORD in config.py'
    print 'update channel list'
    update_channel_list()
    print 'update demo music'
    channel = get_channel()[0]
    music_list = update_music_by_channel(channel, 1)
    assert len(music_list) == 1
    print 'add demo channel to playlist'
    update_channel(channel, playable=True)
Example #16
0
 def test_get(self):
     self.login_as_admin()   # this will add a user name admin!
     user = add_user('name1', 'pw1', 'normal')
     add_user('name2', 'pw2', 'normal')
     add_user('name3', 'pw3', 'normal')
     add_user('name4', 'pw4', 'normal')
     rv = self.app.get('/api/user/?key=' + user.key)
     # print json.loads(rv.data)
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get('/api/user/')
     assert json.loads(rv.data)['count'] == 4 + 1
     rv = self.app.get('/api/user/?name=name1')
     assert len(json.loads(rv.data)) == 1
     rv = self.app.get('/api/user/?start=0&end=2')
     assert len(json.loads(rv.data)) == 2
     rv = self.app.get('/api/user/?start=0')
     assert len(json.loads(rv.data)) == 4 + 1
Example #17
0
def setup():
    '''setup db & update channel & get demo music'''
    print 'setuping...'
    print 'setting admin'
    try:
        assert add_user(ADMIN_NAME, ADMIN_PASSWORD,
                        'admin'), 'admin already exist!!!this will pass'
    except:
        pass
    print 'login douban...'
    assert login(
    ), 'check network or the DOUBAN_USER_NAME, DOUBAN_USER_PASSWORD in config.py'
    print 'update channel list'
    update_channel_list()
    print 'update demo music'
    channel = get_channel()[0]
    music_list = update_music_by_channel(channel, 1)
    assert len(music_list) == 1
    print 'add demo channel to playlist'
    update_channel(channel, playable=True)
Example #18
0
 def post(self):
     args = UserRegArgs().args
     user = add_user(args['name'], args['password'], 'normal')
     if user:
         return marshal(user, user_fields)
     return None
Example #19
0
def process_new_user(data):
    val = user.add_user(data.get('email'), data.get('grad_year'),
                        data.get('username'))
    if val == False:
        raise NameError('Cannot Add User')
Example #20
0
 def post(self):
     args = UserRegArgs().args
     user = add_user(args['name'], args['password'], 'normal')
     if user:
         return marshal(user, user_fields)
     return None
Example #21
0
def process_new_user(data):
	val = user.add_user(data.get('email'), data.get('grad_year'), data.get('username'))
	if val == False:
		raise NameError('Cannot Add User')
Example #22
0
 def login_as_admin(self):
     add_user('admin', 'admin', 'admin')
     self.app.post('/api/user/current/',
                   data={'name': 'admin',
                         'password': '******'})