Пример #1
0
def test_autocomplete_query_none(get_many, client):
    response = client.get('/language/autocomplete',
                          query_string={'input_text': None})
    get_many.assert_not_called()
    assert response.status_code == 400
    # TODO: This behavior makes the `if input_text is None` check useless
    assert "Must have valid input_text field" not in response.data.decode()
Пример #2
0
def test_get_network_by_id(get_one, client):
    response = client.get("/network/1")

    query = "SELECT * FROM `networks` WHERE id=%s"
    get_one.assert_called_with(query, '1')
    exp = {
        'city_cur': 'Palo Alto',
        'city_origin': None,
        'country_cur': 'United States',
        'country_origin': 'United States',
        'date_added': 'Tue, 12 Jan 2016 04:51:19 GMT',
        'id': 1,
        'id_city_cur': 332851,
        'id_city_origin': None,
        'id_country_cur': 47228,
        'id_country_origin': 47228,
        'id_language_origin': None,
        'id_region_cur': 55833,
        'id_region_origin': 56020,
        'img_link': None,
        'language_origin': None,
        'network_class': 'rc',
        'region_cur': 'California',
        'region_origin': 'Michigan',
        'twitter_query_level': 'A'
    }
    assert response.status_code == 200
    assert response.json == exp
Пример #3
0
def test_autocomplete(get_many, client):
    search_text = 'york'
    response = client.get('/location/autocomplete',
                          query_string={'input_text': search_text})
    cit_format = "SELECT cities.name, id AS city_id, region_id, country_id " \
                 "FROM cities WHERE cities.name REGEXP %s"
    reg_format = "SELECT regions.name, 'null' AS city_id, id AS region_id, " \
                 "country_id FROM regions WHERE regions.name REGEXP %s"
    cou_format = "SELECT countries.name, 'null' AS city_id, 'null' AS " \
                 "region_id, id AS country_id FROM countries WHERE " \
                 "countries.name REGEXP %s"
    calls = [call(form, ('york',), 100) for form in
             [cit_format, reg_format, cou_format]]
    get_many.assert_has_calls(calls, any_order=False)
    assert response.status_code == 200
    exp = [{'city_id': 135351, 'country_id': 44888, 'name': 'North York',
            'region_id': 21359},
           {'city_id': 136221, 'country_id': 44888, 'name': 'Yorkton',
            'region_id': 21392},
           {'city_id': 183111, 'country_id': 45356, 'name': 'York',
            'region_id': 27255},
           {'city_id': 316511, 'country_id': 47228, 'name': 'York',
            'region_id': 56196},
           {'city_id': 322071, 'country_id': 47228, 'name': 'Yorkville',
            'region_id': 55921},
           {'city_id': 326241, 'country_id': 47228, 'name': 'West New York',
            'region_id': 56108},
           {'city_id': 326611, 'country_id': 47228, 'name': 'East New York',
            'region_id': 56130},
           {'city_id': 327181, 'country_id': 47228, 'name': 'New York City',
            'region_id': 56130},
           {'city_id': 'null', 'country_id': 47228, 'name': 'New York',
            'region_id': 56130}]
    assert response.json == exp
Пример #4
0
def test_get_networks(get_many, client):
    response = client.get('/user/2/networks')
    query = "SELECT networks.*, join_date                           " \
            "FROM network_registration                           " \
            "INNER JOIN networks                           " \
            "ON networks.id = " \
            "network_registration.id_network                           " \
            "WHERE network_registration.id_user=%sORDER BY join_date DESC"
    get_many.assert_called_with(query, ('2', ), 100)
    assert response.status_code == 200
    exp = [{
        'city_cur': 'Palo Alto',
        'city_origin': None,
        'country_cur': 'United States',
        'country_origin': 'United States',
        'date_added': 'Tue, 12 Jan 2016 04:51:19 GMT',
        'id': 1,
        'id_city_cur': 332851,
        'id_city_origin': None,
        'id_country_cur': 47228,
        'id_country_origin': 47228,
        'id_language_origin': None,
        'id_region_cur': 55833,
        'id_region_origin': 56020,
        'img_link': None,
        'join_date': 'Sun, 01 Jun 2014 12:58:44 GMT',
        'language_origin': None,
        'network_class': 'rc',
        'region_cur': 'California',
        'region_origin': 'Michigan',
        'twitter_query_level': 'A'
    }]
    assert response.json == exp
Пример #5
0
def test_get_users(get_many, client):
    response = client.get("/network/3161/users")
    query = "SELECT users.*, join_date                           " \
            "FROM network_registration                           " \
            "INNER JOIN users                           " \
            "ON users.id = " \
            "network_registration.id_user                           " \
            "WHERE id_network=%sORDER BY join_date DESC"
    get_many.assert_called_with(query, ('3161', ), 100)
    assert response.status_code == 200
    exp = [{
        'about_me': None,
        'act_code': '',
        'company_news': None,
        'confirmed': 0,
        'email': 'snsj',
        'events_interested_in': None,
        'events_upcoming': None,
        'first_name': 'dndn',
        'fp_code': None,
        'gender': None,
        'id': 178,
        'img_link': None,
        'join_date': 'Wed, 22 Aug 2018 00:11:42 GMT',
        'last_login': '******',
        'last_name': 'dbdn',
        'network_activity': None,
        'password': '******',
        'register_date': 'Tue, 21 Aug 2018 23:36:05 GMT',
        'role': None,
        'username': '******'
    }]
    assert response.json == exp
Пример #6
0
def test_get_user_by_id(get_one, client):
    response = client.get("/user/2")
    query = "SELECT * FROM `users` WHERE id=%s"
    get_one.assert_called_with(query, '2')
    assert response.status_code == 200
    exp = {
        'about_me': 'I am from Korea and working at SF as game developer.',
        'act_code': '97657a61f23bff2b65c63c9aacf4f032',
        'company_news': 1,
        'confirmed': 1,
        'events_interested_in': 1,
        'events_upcoming': 1,
        'first_name': 'Chris',
        'fp_code': None,
        'gender': 'M',
        'id': 2,
        'img_link': '1401652610_0/pp.png',
        'last_login': '******',
        'last_name': 'Youm',
        'network_activity': 1,
        'register_date': 'Mon, 30 Jul 2018 23:45:05 GMT',
        'role': 0,
        'username': '******'
    }
    assert response.json == exp
Пример #7
0
def test_get_net_users(get_all, get_many, client):
    city_cur = 327181
    region_cur = 56130
    country_cur = 47228
    near_loc = str(country_cur) + ',' + str(region_cur) + ',' + str(city_cur)

    city_origin = 332851
    region_origin = 55833
    country_origin = 47228
    from_loc = str(country_origin) + ',' + str(region_origin) + ',' + \
               str(city_origin)

    response = client.get('/user/users',
                          query_string={
                              'near_location': near_loc,
                              'from_location': from_loc
                          })

    net_query = 'SELECT id FROM networks WHERE id_country_cur=%s AND ' \
                'id_region_cur=%s AND id_city_cur=%s AND ' \
                'id_country_origin=%s AND id_region_origin=%s AND ' \
                'id_city_origin=%s'
    net_args = ('47228', '56130', '327181', '47228', '55833', '332851')
    net_call = call(net_query, net_args)

    reg_query = 'SELECT id_user FROM network_registration WHERE ' \
                'id_network IN %sORDER BY id_user DESC'
    reg_args = (((3161, ), ), )
    reg_count = 100
    get_many.assert_called_with(reg_query, reg_args, reg_count)

    usr_query = 'SELECT * FROM users WHERE id IN %s'
    usr_args = (((178, ), ), )
    usr_call = call(usr_query, usr_args)

    get_all.assert_has_calls([net_call, usr_call], any_order=False)

    assert response.status_code == 200
    exp = [{
        'about_me': None,
        'act_code': '',
        'company_news': None,
        'confirmed': 0,
        'events_interested_in': None,
        'events_upcoming': None,
        'first_name': 'dndn',
        'fp_code': None,
        'gender': None,
        'id': 178,
        'img_link': None,
        'last_login': '******',
        'last_name': 'dbdn',
        'network_activity': None,
        'register_date': 'Tue, 21 Aug 2018 23:36:05 GMT',
        'role': None,
        'username': '******'
    }]
    assert response.json == exp
Пример #8
0
def test_autocomplete_query_none(get_many, client):
    search_text = 'nonexistentLocationQuery'
    response = client.get('/language/autocomplete',
                          query_string={'input_text': search_text})
    query = "SELECT * FROM languages WHERE languages.name REGEXP %s " \
            "ORDER BY num_speakers DESC;"
    get_many.assert_called_with(query, ('nonexistentLocationQuery',), 20)
    assert response.status_code == 200
    assert response.json == []
Пример #9
0
def test_get_event_by_id(get_one, client):
    response = client.get("/language/1")
    query = "SELECT * FROM `languages` WHERE id=%s"
    get_one.assert_called_with(query, '1')
    assert response.status_code == 200
    exp = {'added': 0, 'id': 1, 'name': 'Mandarin Chinese/Putonghua',
           'num_speakers': 935, 'tweet_terms': None,
           'tweet_terms_override': None}
    assert response.json == exp
Пример #10
0
def test_get_reg_empty(get_many, client):
    response = client.get("/event/23/reg")
    query = "SELECT *                           " \
            "FROM event_registration                           " \
            "WHERE id_event=%sORDER BY date_registered DESC"
    get_many.assert_called_with(query, ('23', ), 100)
    assert response.status_code == 200
    exp = []
    assert response.json == exp
Пример #11
0
def test_get_reg_count(get_one, client):
    response = client.get("/event/23/reg_count")
    query = "SELECT count(*) \
             as reg_count \
             from event_registration \
             where id_event=%s"

    get_one.assert_called_with(query, ('23', ))
    assert response.status_code == 200
    assert response.json == {'reg_count': 0}
Пример #12
0
def test_get_country_by_id(get_one, client):
    response = client.get("/location/countries/47228")
    query = "SELECT * FROM `countries` WHERE id=%s"
    get_one.assert_called_with(query, '47228')
    assert response.status_code == 200
    exp = {'feature_code': None, 'id': 47228, 'iso_a2': None,
           'latitude': '-129.3214', 'longitude': '61.660733',
           'name': 'United States', 'population': 1,
           'tweet_terms': 'USA, United States', 'tweet_terms_override': 1}
    assert response.json == exp
Пример #13
0
def test_get_reply_count(get_one, client):
    response = client.get('post/88/reply_count')
    query = "SELECT count(*) \
             as reply_count \
             from post_replies \
             where id_parent=%s"

    get_one.assert_called_with(query, ('88', ))
    assert response.status_code == 200
    exp = {'reply_count': 5}
    assert response.json == exp
Пример #14
0
def test_get_user_count(get_one, client):
    response = client.get("/network/1/user_count")

    query = "SELECT count(*) \
             as user_count \
             from network_registration \
             where id_network=%s"

    get_one.assert_called_with(query, ('1', ))
    assert response.status_code == 200
    exp = {'user_count': 16}
    assert response.json == exp
Пример #15
0
def test_get_post_count(get_one, client):
    response = client.get("/network/1/post_count")

    query = "SELECT count(*) \
             as post_count \
             from posts \
             where id_network=%s"

    get_one.assert_called_with(query, ('1', ))
    assert response.status_code == 200
    exp = {'post_count': 48}
    assert response.json == exp
Пример #16
0
def test_get_region_by_id(get_one, client):
    response = client.get("/location/regions/56130")
    query = "SELECT * FROM `regions` WHERE id=%s"
    get_one.assert_called_with(query, '56130')
    assert response.status_code == 200
    exp = {'country_id': 47228, 'country_name': 'United States',
           'country_tweet_terms': 'USA, United States',
           'country_tweet_terms_override': 1, 'feature_code': None,
           'id': 56130, 'latitude': 43.0003, 'longitude': -75.4999,
           'name': 'New York', 'population': 1, 'tweet_terms': None,
           'tweet_terms_override': 0}
    assert response.json == exp
Пример #17
0
def test_get_reply_by_id(get_one, client):
    response = client.get('/post/reply/207')
    query = "SELECT * FROM `post_replies` WHERE id=%s"
    get_one.assert_called_with(query, '207')
    assert response.status_code == 200
    exp = {
        'id': 207,
        'id_network': 1,
        'id_parent': 88,
        'id_user': 6,
        'reply_date': 'Mon, 28 Jul 2014 20:12:51 GMT',
        'reply_text': 'Hey Ken, how is Palo Alto?'
    }
    assert response.json == exp
Пример #18
0
def test_autocomplete(get_many, client):
    search_text = 'en'
    response = client.get('/language/autocomplete',
                          query_string={'input_text': search_text})
    query = "SELECT * FROM languages WHERE languages.name REGEXP %s " \
            "ORDER BY num_speakers DESC;"
    get_many.assert_called_with(query, ('en',), 20)
    assert response.status_code == 200
    exp = [{'added': 0, 'id': 3, 'name': 'English', 'num_speakers': 365,
            'tweet_terms': None, 'tweet_terms_override': '0'},
           {'added': 0, 'id': 7, 'name': 'Bengali', 'num_speakers': 202,
            'tweet_terms': None, 'tweet_terms_override': None},
           {'added': 0, 'id': 18, 'name': 'French', 'num_speakers': 74,
            'tweet_terms': None, 'tweet_terms_override': None}]
    assert response.json == exp
Пример #19
0
def test_get_city_by_id(get_one, client):
    response = client.get("/location/cities/327181")
    query = "SELECT * FROM `cities` WHERE id=%s"
    get_one.assert_called_with(query, '327181')
    assert response.status_code == 200
    exp = {'country_id': 47228, 'country_name': 'United States',
           'country_tweet_terms': 'USA, United States',
           'country_tweet_terms_override': 1, 'feature_code': 'PPL',
           'id': 327181, 'latitude': 40.7143, 'longitude': -74.006,
           'name': 'New York City', 'population': 8175133, 'region_id': 56130,
           'region_name': 'New York', 'region_tweet_terms': None,
           'region_tweet_terms_override': 0, 'tweet_terms': None,
           'tweet_terms_override': 0}

    assert response.json == exp
Пример #20
0
def test_get_events(get_many, client):
    response = client.get("/network/547/events")
    query = "SELECT *                           " \
            "FROM events                           " \
            "WHERE id_network=%sORDER BY id DESC"
    get_many.assert_called_with(query, ('547', ), 100)
    assert response.status_code == 200
    exp = [{
        'address_1': 'ehebsbdhd',
        'address_2': '',
        'city': '',
        'country': '',
        'date_created': 'Sat, 21 Jul 2018 01:11:20 GMT',
        'description': 'she\n',
        'event_date': 'Sat, 21 Jul 2018 01:11:20 GMT',
        'id': 61,
        'id_host': 1,
        'id_network': 547,
        'region': '',
        'title': 'dbbdbbd'
    }, {
        'address_1': 'djdj',
        'address_2': '',
        'city': '',
        'country': '',
        'date_created': 'Sat, 21 Jul 2018 01:01:10 GMT',
        'description': 'snsns',
        'event_date': '0000-00-00 00:00:00',
        'id': 60,
        'id_host': 1,
        'id_network': 547,
        'region': '',
        'title': 'shsjd'
    }, {
        'address_1': '100 Some Road, Orangetown, CT',
        'address_2': '',
        'city': '',
        'country': '',
        'date_created': 'Sat, 21 Jul 2018 00:50:28 GMT',
        'description': "something's happening.\n\n",
        'event_date': '0000-00-00 00:00:00',
        'id': 59,
        'id_host': 1,
        'id_network': 547,
        'region': '',
        'title': 'Test Event'
    }]
    assert response.json == exp
Пример #21
0
def test_get_post_by_id(get_one, client):
    response = client.get('/post/88')
    query = "SELECT * FROM `posts` WHERE id=%s"
    get_one.assert_called_with(query, '88')
    assert response.status_code == 200
    exp = {
        'id': 88,
        'id_network': 1,
        'id_user': 3,
        'img_link': '',
        'post_class': 'o',
        'post_date': 'Sun, 27 Jul 2014 12:15:02 GMT',
        'post_original': None,
        'post_text': 'Hey Michiganders in Palo Alto!',
        'vid_link': ''
    }
    assert response.json == exp
Пример #22
0
def test_get_posts(get_many, client):
    response = client.get("/network/545/posts")
    query = "SELECT *                          " \
            "FROM posts                          " \
            "WHERE id_network=%sORDER BY id DESC"
    get_many.assert_called_with(query, ('545', ), 100)
    assert response.status_code == 200
    exp = [{
        'id': 635,
        'id_network': 545,
        'id_user': 171,
        'img_link': None,
        'post_class': 'o',
        'post_date': 'Wed, 19 Sep 2018 20:34:56 GMT',
        'post_original': None,
        'post_text': 'Testing making a post here!',
        'vid_link': None
    }]
    assert response.json == exp
Пример #23
0
def test_get_posts(get_many, client):
    response = client.get('/user/2/posts')
    query = "SELECT *                           " \
            "FROM posts                           " \
            "WHERE id_user=%sORDER BY id DESC"
    get_many.assert_called_with(query, ('2', ), 100)
    assert response.status_code == 200
    exp = [{
        'id': 381,
        'id_network': 1,
        'id_user': 2,
        'img_link': None,
        'post_class': 'o',
        'post_date': 'Sat, 17 Jan 2015 12:32:12 GMT',
        'post_original': None,
        'post_text': '[b]Picture test[/b] on [link]culturemesh.com[/link]',
        'vid_link': None
    }]
    assert response.json == exp
Пример #24
0
def test_get_reg(get_many, client):
    response = client.get("/event/125/reg")
    query = "SELECT *                           " \
            "FROM event_registration                           " \
            "WHERE id_event=%sORDER BY date_registered DESC"
    get_many.assert_called_with(query, ('125', ), 100)
    assert response.status_code == 200
    exp = [{
        'date_registered': 'Wed, 19 Sep 2018 11:13:43 GMT',
        'id_event': 125,
        'id_guest': 171,
        'job': 'guest'
    }, {
        'date_registered': 'Fri, 07 Sep 2018 23:48:07 GMT',
        'id_event': 125,
        'id_guest': 172,
        'job': 'host'
    }]
    assert response.json == exp
Пример #25
0
def test_get_event_by_id(get_one, client):
    response = client.get("/event/23")
    query = "SELECT * FROM `events` WHERE id=%s"
    get_one.assert_called_with(query, '23')
    assert response.status_code == 200
    exp = {
        'address_1': '123 Random',
        'address_2': '',
        'city': 'San Francisco',
        'country': None,
        'date_created': 'Tue, 19 Aug 2014 00:10:54 GMT',
        'description': 'cool stuff',
        'event_date': 'Wed, 24 Sep 2014 00:10:00 GMT',
        'id': 23,
        'id_host': 3,
        'id_network': 251,
        'region': 'CA',
        'title': 'Random Event'
    }
    assert response.json == exp
Пример #26
0
def test_autocomplete_no_query(get_many, client):
    response = client.get('/language/autocomplete')
    get_many.assert_not_called()
    assert response.status_code == 400
Пример #27
0
def test_ping(client):
    response = client.get('/language/ping')
    assert response.data.decode() == 'pong'
Пример #28
0
def test_note_returns_any_file_contents(client, test_string):
    assume('\r' not in test_string)
    with open(client.application.config["NOTE_PATH"], "w") as note_file:
        note_file.write(test_string)
    assert client.get("/dev/note").data.decode() == test_string
Пример #29
0
def test_note_returns_file_contents(client):
    with open(client.application.config["NOTE_PATH"], "w") as note_file:
        note_file.write(NOTE_TEST_STRING)
    assert client.get("/dev/note").data.decode() == NOTE_TEST_STRING
Пример #30
0
def test_get_replies(get_many, client):
    response = client.get('/post/88/replies')
    query = "SELECT post_replies.*                           " \
            "FROM posts                           " \
            "INNER JOIN post_replies                           " \
            "ON posts.id = post_replies.id_parent                           " \
            "WHERE posts.id=%sORDER BY id DESC"
    get_many.assert_called_with(query, ('88', ), 100)
    assert response.status_code == 200
    exp = [{
        'id':
        424,
        'id_network':
        1,
        'id_parent':
        88,
        'id_user':
        2,
        'reply_date':
        'Thu, 05 Jul 2018 22:41:49 GMT',
        'reply_text':
        "hey..... what's up? s dndndmdmxndndndndndndnddndndnd"
        "ndndndndndbdbdnndndndndndndndndndndndndnn<i>djdjdkdk"
        "dkdkdkdmdmmdmdmdmdmdmdndbdbdbdbdbdnnddnndndndndndndn"
        "dbdnndndndndndndnndndndndndndndndnndndnd</i>ndndndnd"
        "nnddnndndndkdkdndbdnndndndndndndndnndndndndndndndnnd"
        "ndnd\n"
    }, {
        'id': 238,
        'id_network': 1,
        'id_parent': 88,
        'id_user': 71,
        'reply_date': 'Wed, 20 Aug 2014 12:21:35 GMT',
        'reply_text': 'Harro :) '
    }, {
        'id':
        209,
        'id_network':
        1,
        'id_parent':
        88,
        'id_user':
        3,
        'reply_date':
        'Wed, 30 Jul 2014 18:50:29 GMT',
        'reply_text':
        'This would be a good page to get together & '
        'coordinate outings for when Michigan-based sports '
        'teams are in the area (e.g. Pistons, Tigers, Red '
        'Wings, Lions, Spartans, Wolverines).'
    }, {
        'id': 208,
        'id_network': 1,
        'id_parent': 88,
        'id_user': 3,
        'reply_date': 'Wed, 30 Jul 2014 18:43:20 GMT',
        'reply_text': "@Andrew, it's not too bad at all ;)"
    }, {
        'id': 207,
        'id_network': 1,
        'id_parent': 88,
        'id_user': 6,
        'reply_date': 'Mon, 28 Jul 2014 20:12:51 GMT',
        'reply_text': 'Hey Ken, how is Palo Alto?'
    }]
    assert response.json == exp