def test_delete_user_broascaster_success(self):
        r = self.app.delete('users/reneighbor/broadcasters/trenton',
                            headers=auth_headers('reneighbor'))

        assert r._status_code == 204

        r = self.app.get('users/reneighbor/broadcasters',
                         headers=auth_headers('reneighbor'))

        broadcasters = json.loads(r.data)['broadcasters']
        assert len(broadcasters) == 0
    def test_delete_user_broascaster_success(self):
        r = self.app.delete(
            'users/reneighbor/broadcasters/trenton',
            headers = auth_headers('reneighbor')
        )

        assert r._status_code == 204

        r = self.app.get(
            'users/reneighbor/broadcasters',
            headers = auth_headers('reneighbor')
        )

        broadcasters = json.loads(r.data)['broadcasters']
        assert len(broadcasters) == 0
    def test_view_user_tweets_verify_sort_order(self):

        # altering the fixtures
        older_tweet = Tweet(
            username = '******',
            user_id = 1,
            body = 'chicken dinner',
            date_created = datetime.date(2014, 1, 1)
        )

        db.session.add(older_tweet)
        db.session.commit()

        r = self.app.get(
            '/users/reneighbor/tweets',
            headers = auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 2

        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"

        assert tweets[1]['username'] == 'reneighbor'
        assert tweets[1]['body'] == 'chicken dinner'
        assert tweets[1]['date_created'] == "Wed, 01 Jan 2014 00:00:00 -0000"
Пример #4
0
    def test_view_tweets_verify_sort_order(self): 

        # altering the fixtures
        trenton_tweet = Tweet.query.filter_by(
            id = 2).first()

        trenton_tweet.date_created = datetime.date(2014, 1, 1)

        db.session.add(trenton_tweet)
        db.session.commit()


        r = self.app.get(
            '/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 2

        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"

        assert tweets[1]['username'] == 'trenton'
        assert tweets[1]['body'] == 'burning man'
        assert tweets[1]['date_created'] == "Wed, 01 Jan 2014 00:00:00 -0000"
Пример #5
0
    def test_view_user_tweets_verify_sort_order(self):

        # altering the fixtures
        older_tweet = Tweet(username='******',
                            user_id=1,
                            body='chicken dinner',
                            date_created=datetime.date(2014, 1, 1))

        db.session.add(older_tweet)
        db.session.commit()

        r = self.app.get(
            '/users/reneighbor/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 2

        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"

        assert tweets[1]['username'] == 'reneighbor'
        assert tweets[1]['body'] == 'chicken dinner'
        assert tweets[1]['date_created'] == "Wed, 01 Jan 2014 00:00:00 -0000"
Пример #6
0
    def test_view_tweets_verify_sort_order(self):

        # altering the fixtures
        trenton_tweet = Tweet.query.filter_by(id=2).first()

        trenton_tweet.date_created = datetime.date(2014, 1, 1)

        db.session.add(trenton_tweet)
        db.session.commit()

        r = self.app.get(
            '/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 2

        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"

        assert tweets[1]['username'] == 'trenton'
        assert tweets[1]['body'] == 'burning man'
        assert tweets[1]['date_created'] == "Wed, 01 Jan 2014 00:00:00 -0000"
    def test_delete_user_broadcaster_no_user_for_broadcaster_name(self):
        r = self.app.delete('users/reneighbor/broadcasters/nobody',
                            headers=auth_headers('reneighbor'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user found for 'nobody'"
    def test_delete_user_broascaster_not_currently_following(self):
        r = self.app.delete('users/trenton/broadcasters/reneighbor',
                            headers=auth_headers('trenton'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Not currently following reneighbor"
    def test_delete_user_broascaster_no_user(self):
        r = self.app.delete('users/nobody/broadcasters/trenton',
                            headers=auth_headers('reneighbor'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
Пример #10
0
    def test_post_to_user_tweets_body_emtpy_string(self):
        r = self.app.post('/users/reneighbor/tweets',
                          headers=auth_headers('reneighbor'),
                          data={'body': ''})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "'body' argument is empty"
    def test_post_to_user_broadcaster_already_following_broadcaster(self):
        r = self.app.post('/users/reneighbor/broadcasters',
                          headers=auth_headers('reneighbor'),
                          data={'username': '******'})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Already following user 'trenton'"
    def test_post_to_user_broadcaster_userame_empty_string(self):
        r = self.app.post('/users/trenton/broadcasters',
                          headers=auth_headers('trenton'),
                          data={'username': ''})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "'username' argument is empty"
    def test_post_to_user_broadcaster_username_missing(self):
        r = self.app.post('/users/trenton/broadcasters',
                          headers=auth_headers('trenton'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message']['data'][
            'message'] == "Missing required parameter username in the JSON body or the post body or the query string"
    def test_post_to_user_broadcaster_no_broadcaster_found(self):
        r = self.app.post('/users/trenton/broadcasters',
                          headers=auth_headers('trenton'),
                          data={'username': '******'})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user found for 'noah'"
    def test_delete_user_broascaster_not_authorized_on_behalf(self):
        r = self.app.delete('users/reneighbor/broadcasters/trenton',
                            headers=auth_headers('trenton'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response[
            'message'] == "Not authorized to unfollow users on behalf another account"
Пример #16
0
    def test_post_to_user_tweets_body_missing(self):
        r = self.app.post('/users/reneighbor/tweets',
                          headers=auth_headers('reneighbor'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message']['data'][
            'message'] == "Missing required parameter body in the JSON body or the post body or the query string"
Пример #17
0
    def test_post_to_user_tweets_no_user(self):
        r = self.app.post('/users/nobody/tweets',
                          headers=auth_headers('reneighbor'),
                          data={'body': 'foobar'})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
    def test_post_user_broadcaster_no_user(self):
        r = self.app.post('/users/nobody/broadcasters',
                          headers=auth_headers('trenton'),
                          data={'username': '******'})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
    def test_post_to_other_user_broadcaster_not_authorized(self):
        r = self.app.post('/users/reneighbor/broadcasters',
                          headers=auth_headers('trenton'))

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response[
            'message'] == "Not authorized to follow users on behalf another account"
    def test_view_user_followers_no_followers(self):
        r = self.app.get(
            '/users/reneighbor/followers',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        followers = json.loads(r.data)['followers']
        assert len(followers) == 0
    def test_view_user_not_following_anyone(self):
        r = self.app.get(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 200

        broadcasters = json.loads(r.data)['broadcasters']
        assert len(broadcasters) == 0
    def test_delete_user_broascaster_not_currently_following(self):
        r = self.app.delete(
            'users/trenton/broadcasters/reneighbor',
            headers = auth_headers('trenton')
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Not currently following reneighbor"
    def test_delete_user_broadcaster_no_user_for_broadcaster_name(self):
        r = self.app.delete(
            'users/reneighbor/broadcasters/nobody',
            headers = auth_headers('reneighbor')
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user found for 'nobody'"
    def test_delete_user_broascaster_not_authorized_on_behalf(self):
        r = self.app.delete(
            'users/reneighbor/broadcasters/trenton',
            headers = auth_headers('trenton')
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Not authorized to unfollow users on behalf another account"
    def test_delete_user_broascaster_no_user(self):
        r = self.app.delete(
            'users/nobody/broadcasters/trenton',
            headers = auth_headers('reneighbor')
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
    def test_post_to_other_user_broadcaster_not_authorized(self):
        r = self.app.post(
            '/users/reneighbor/broadcasters',
            headers=auth_headers('trenton')
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Not authorized to follow users on behalf another account"
Пример #27
0
    def test_post_to_other_user_tweets_not_authorized(self):
        r = self.app.post('/users/trenton/tweets',
                          headers=auth_headers('reneighbor'),
                          data={'body': 'foobar'})

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response[
            'message'] == "Not authorized to tweet on behalf of another user"
    def test_view_user_not_following_anyone(self):
        r = self.app.get(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 200

        broadcasters = json.loads(r.data)['broadcasters']
        assert len(broadcasters) == 0
    def test_post_to_user_broadcaster_username_missing(self):
        r = self.app.post(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton')
        )

        assert r._status_code == 400

        response = json.loads(r.data)   
        assert response['message']['data']['message'] == "Missing required parameter username in the JSON body or the post body or the query string"
Пример #30
0
    def test_view_tweets_search_none_found(self):
        r = self.app.get(
            '/tweets?search=goodbye',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 0
Пример #31
0
    def test_view_user_tweets_no_user(self):
        r = self.app.get(
            '/users/nobody/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
Пример #32
0
    def test_post_to_user_tweets_body_missing(self):
        r = self.app.post(
            '/users/reneighbor/tweets',
            headers = auth_headers('reneighbor')
        )

        assert r._status_code == 400
        
        response = json.loads(r.data)
        assert response['message']['data']['message'] == "Missing required parameter body in the JSON body or the post body or the query string"
Пример #33
0
    def test_view_user_tweets_search_none_found(self):
        r = self.app.get(
            '/users/reneighbor/tweets?search=goodbye',
            headers = auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 0
    def test_view_user_no_user(self):
        r = self.app.get(
            '/users/nobody/broadcasters',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
    def test_post_user_broadcaster_no_user(self):
        r = self.app.post(
            '/users/nobody/broadcasters',
            headers=auth_headers('trenton'),
            data={'username':'******'}
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
    def test_post_to_user_broadcaster_no_broadcaster_found(self):
        r = self.app.post(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton'),
            data={'username':'******'}
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "No user found for 'noah'"
    def test_post_to_user_broadcaster_already_following_broadcaster(self):
        r = self.app.post(
            '/users/reneighbor/broadcasters',
            headers=auth_headers('reneighbor'),
            data={'username':'******'}
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "Already following user 'trenton'"
    def test_post_to_user_broadcaster_userame_empty_string(self):
        r = self.app.post(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton'),
            data={'username':''}
        )

        assert r._status_code == 400

        response = json.loads(r.data)
        assert response['message'] == "'username' argument is empty"
Пример #39
0
    def test_post_to_other_user_tweets_not_authorized(self):
        r = self.app.post(
            '/users/trenton/tweets',
            headers = auth_headers('reneighbor'),
            data = {'body' : 'foobar'}
        )

        assert r._status_code == 400
        
        response = json.loads(r.data)
        assert response['message'] == "Not authorized to tweet on behalf of another user"
Пример #40
0
    def test_post_to_user_tweets_body_emtpy_string(self):
        r = self.app.post(
            '/users/reneighbor/tweets',
            headers = auth_headers('reneighbor'),
            data = {'body' : ''}
        )

        assert r._status_code == 400
        
        response = json.loads(r.data)
        assert response['message'] == "'body' argument is empty"
Пример #41
0
    def test_post_to_user_tweets_no_user(self):
        r = self.app.post(
            '/users/nobody/tweets',
            headers = auth_headers('reneighbor'),
            data = {'body' : 'foobar'}
        )

        assert r._status_code == 400
        
        response = json.loads(r.data)
        assert response['message'] == "No user nobody"
Пример #42
0
    def test_post_to_user_tweets_success(self):
        r = self.app.post('/users/reneighbor/tweets',
                          headers=auth_headers('reneighbor'),
                          data={'body': 'foobar'})

        assert r._status_code == 201

        tweet = json.loads(r.data)['tweet']

        assert tweet['username'] == 'reneighbor'
        assert tweet['body'] == 'foobar'
        assert tweet['date_created'] == strftime("%a, %d %b %Y %X -0000")
    def test_post_user_broadcaster_success(self):
        r = self.app.post('/users/trenton/broadcasters',
                          headers=auth_headers('trenton'),
                          data={'username': '******'})

        assert r._status_code == 201

        broadcaster = json.loads(r.data)['broadcaster']

        assert broadcaster['username'] == 'reneighbor'
        assert broadcaster['date_created'] == None
        assert broadcaster['date_followed'] == strftime(
            "%a, %d %b %Y %X -0000")
Пример #44
0
    def test_view_tweets_not_following_anyone(self):
        r = self.app.get(
            '/tweets',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1

        assert tweets[0]['username'] == 'trenton'
        assert tweets[0]['body'] == 'burning man'
        assert tweets[0]['date_created'] == "Fri, 02 Jan 2015 00:00:00 -0000"
Пример #45
0
    def test_view_other_user_tweets(self):
        r = self.app.get(
            '/users/trenton/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1

        assert tweets[0]['username'] == 'trenton'
        assert tweets[0]['body'] == 'burning man'
        assert tweets[0]['date_created'] == "Fri, 02 Jan 2015 00:00:00 -0000"
Пример #46
0
    def test_view_tweets_search(self):
        r = self.app.get(
            '/tweets?search=world',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1

        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"
Пример #47
0
    def test_view_tweets_not_following_anyone(self):
        r = self.app.get(
            '/tweets',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1

        assert tweets[0]['username'] == 'trenton'
        assert tweets[0]['body'] == 'burning man'
        assert tweets[0]['date_created'] == "Fri, 02 Jan 2015 00:00:00 -0000"
Пример #48
0
    def test_post_to_user_tweets_success(self):
        r = self.app.post(
            '/users/reneighbor/tweets',
            headers = auth_headers('reneighbor'),
            data = {'body' : 'foobar'}
        )

        assert r._status_code == 201
        
        tweet = json.loads(r.data)['tweet']

        assert tweet['username'] == 'reneighbor'
        assert tweet['body'] == 'foobar'
        assert tweet['date_created'] == strftime("%a, %d %b %Y %X -0000")
    def test_view_other_user_broadcasters(self):
        r = self.app.get(
            '/users/reneighbor/broadcasters',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 200

        broadcasters = json.loads(r.data)['broadcasters']
        assert len(broadcasters) == 1

        assert broadcasters[0]['username'] == 'trenton'
        assert broadcasters[0]['date_created'] == None
        assert broadcasters[0]['date_followed'] == None
    def test_view__other_user_followers(self):
        r = self.app.get(
            '/users/trenton/followers',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        broadcasters = json.loads(r.data)['followers']
        assert len(broadcasters) == 1

        assert broadcasters[0]['username'] == 'reneighbor'
        assert broadcasters[0]['date_created'] == None
        assert broadcasters[0]['date_followed'] == None
Пример #51
0
    def test_view_user_tweets_search(self):
        r = self.app.get(
            '/users/reneighbor/tweets?query=hello',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1
     
        assert tweets[0]['username'] == 'reneighbor'
        assert tweets[0]['body'] == 'hello world'
        assert tweets[0]['date_created'] == "Thu, 01 Jan 2015 00:00:00 -0000"
Пример #52
0
    def test_view_other_user_tweets(self):
        r = self.app.get(
            '/users/trenton/tweets',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 200

        tweets = json.loads(r.data)['tweets']
        assert len(tweets) == 1
     
        assert tweets[0]['username'] == 'trenton'
        assert tweets[0]['body'] == 'burning man'
        assert tweets[0]['date_created'] == "Fri, 02 Jan 2015 00:00:00 -0000"
    def test_post_user_broadcaster_success(self):
        r = self.app.post(
            '/users/trenton/broadcasters',
            headers=auth_headers('trenton'),
            data={'username':'******'}
        )

        assert r._status_code == 201

        broadcaster = json.loads(r.data)['broadcaster']

        assert broadcaster['username'] == 'reneighbor'
        assert broadcaster['date_created'] == None
        assert broadcaster['date_followed'] == strftime("%a, %d %b %Y %X -0000")
    def test_view_user_broadcaster_no_user_for_broadcaster(self):
        
        # altering the fixtures
        trenton = User.query.filter_by(
            id = 2).first()

        db.session.delete(trenton)
        db.session.commit()

        r = self.app.get(
            '/users/reneighbor/broadcasters',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 500

        response = json.loads(r.data)
        assert response['message'] == 'No user exists for broadcaster with ID: 2'
    def test_view_user_broadcaster_no_user_for_broadcaster(self):

        # altering the fixtures
        trenton = User.query.filter_by(id=2).first()

        db.session.delete(trenton)
        db.session.commit()

        r = self.app.get(
            '/users/reneighbor/broadcasters',
            headers=auth_headers('reneighbor'),
        )

        assert r._status_code == 500

        response = json.loads(r.data)
        assert response[
            'message'] == 'No user exists for broadcaster with ID: 2'
    def test_view_user_followers_no_user_for_follower(self):

        # altering the fixtures
        reneighbor = User.query.filter_by(
            id = 1).first()

        db.session.delete(reneighbor)
        db.session.commit()


        r = self.app.get(
            '/users/trenton/followers',
            headers=auth_headers('trenton'),
        )

        assert r._status_code == 500

        response = json.loads(r.data)
        assert response['message'] == 'No user exists for follower with user_id 1'