コード例 #1
0
def test_create_category():
    cat = model.category.Category()
    cat.label = 'HOUSE'
    cat_id = cat.save()

    new_cat = model.category.Category(cat_id)
    assert_eq('HOUSE', new_cat.label)
コード例 #2
0
def test_all_listings():
    user_id = db.mock_data.create_fake_user()
    assert_eq(len(model.listing.get_all_listings()), 0)

    model.listing.create_new_listing(
        'title', 'description', user_id)
    assert_eq(len(model.listing.get_all_listings()), 1)
コード例 #3
0
def test_get_comments_for_listing():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)
    assert_eq(0, len(model.comment.get_comments_for_listing(lid)))

    comment = model.comment.Comment()
    comment.lid = lid
    comment.uid = uid
    comment.body = 'This is my comment'
    cid1 = comment.save()
    assert_eq(1, len(model.comment.get_comments_for_listing(lid)))

    comment = model.comment.Comment()
    comment.lid = lid
    comment.uid = uid
    comment.body = 'This is my second comment'
    cid2 = comment.save()
    assert_eq(2, len(model.comment.get_comments_for_listing(lid)))

    lid2 = db.mock_data.create_fake_listings(uid)
    comment = model.comment.Comment()
    comment.lid = lid2
    comment.uid = uid
    comment.body = 'This is my other comment'
    cid3 = comment.save()
    assert_eq(2, len(model.comment.get_comments_for_listing(lid)))
    assert_eq(1, len(model.comment.get_comments_for_listing(lid2)))
コード例 #4
0
def test_non_existent_user():
    assert_eq(model.user.get_number_of_users(), 0)
    user = model.user.User(10)
    assert not user.name
    assert not user.email

    user = model.user.User()
    assert not user.name
    assert not user.email
コード例 #5
0
def test_add_listing_to_category():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)

    cat = model.category.Category()
    cat.label = 'HOUSE'
    cat_id = cat.save()

    assert_eq(0, len(model.category.listing_categories(lid)))
    model.category.add_listing_to_category(lid, cat_id)
    assert_eq(1, len(model.category.listing_categories(lid)))
コード例 #6
0
def test_user_creation():
    assert_eq(model.user.get_number_of_users(), 0)

    user_id = model.user.create_new_user('michael', '*****@*****.**',
                                         'mypassword')

    assert_eq(model.user.get_number_of_users(), 1)

    user = model.user.User(user_id)
    assert_eq(user.id, user_id)
    assert_eq(user.name, 'michael')
    assert_eq(user.email, '*****@*****.**')
コード例 #7
0
def test_listing_search_query_trigger_delete():
    user_id = db.mock_data.create_fake_user()
    listing_ids = []
    for title, description in listings:
        ids = model.listing.create_new_listing(title, description, user_id)
        listing_ids.append(ids)

    for listing_id in listing_ids:
        l = model.listing.Listing(listing_id)
        l.delete()

    assert_eq(0, len(model.search.all_listing_search_entries()))
コード例 #8
0
def test_cat_ids_to_labels():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)

    cat_ids = []
    for label in ['HOUSE', "ASDF"]:
        cat = model.category.Category()
        cat.label = label
        cat_id = cat.save()
        cat_ids.append(cat_id)

    assert_eq(['HOUSE', 'ASDF'], model.category.cat_ids_to_labels(cat_ids))
コード例 #9
0
def test_create_or_retrieve_category():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)

    cat = model.category.Category()
    cat.label = 'HOUSE'
    cat_id = cat.save()

    assert_eq(cat_id, model.category.create_or_retrieve_category('HOUSE'))

    cat_id2 = model.category.create_or_retrieve_category('APPLE')
    assert_eq('APPLE', model.category.Category(cat_id2).label)
コード例 #10
0
def test_get_listings_info():
    user_id = db.mock_data.create_fake_user()
    assert_eq(model.user.get_number_of_users(), 1)

    ids = []
    for i in xrange(2):
        listing = model.listing.Listing()
        listing.title = 'My awesome thing.'
        listing.description = 'Blah blah'
        listing.owner_id = user_id
        listing_id = listing.save()
        ids.append(listing_id)

    print ids, model.listing.get_listings_info(ids)
    assert_eq(
        ids,
        [x['lid'] for x in model.listing.get_listings_info(ids)])
コード例 #11
0
def test_create_listing():
    user_id = db.mock_data.create_fake_user()
    assert_eq(model.user.get_number_of_users(), 1)

    listing = model.listing.Listing()
    listing.title = 'My awesome thing.'
    listing.description = 'Blah blah'
    listing.owner_id = user_id
    listing_id = listing.save()

    new_listing_obj = model.listing.Listing(listing_id)
    assert_eq(new_listing_obj.title, 'My awesome thing.')
    assert_eq(new_listing_obj.description, 'Blah blah')
    assert_eq(new_listing_obj.owner_id, user_id)
コード例 #12
0
def test_get_lids_by_cat_id():
    uid = db.mock_data.create_fake_user()
    lid1 = db.mock_data.create_fake_listings(uid)
    lid2 = db.mock_data.create_fake_listings(uid)

    cat_id = model.category.create_or_retrieve_category('TMP')
    assert_eq(0, len(model.listing.get_lids_by_cat_ids([cat_id], 20)))
    model.category.add_listing_to_category(lid1, cat_id)
    model.category.add_listing_to_category(lid2, cat_id)
    assert_eq(2, len(model.listing.get_lids_by_cat_ids([cat_id], 20)))
    
    lids = model.listing.get_lids_by_cat_ids([cat_id], 20)
    assert_eq(lid2, lids[0])
    assert_eq(lid1, lids[1])
コード例 #13
0
def test_get_comments_for_listing_reverse_time_order():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)
    assert_eq(0, len(model.comment.get_comments_for_listing(lid)))

    comment = model.comment.Comment()
    comment.lid = lid
    comment.uid = uid
    comment.body = 'This is my comment'
    cid1 = comment.save()
    assert_eq(1, len(model.comment.get_comments_for_listing(lid)))

    comment = model.comment.Comment()
    comment.lid = lid
    comment.uid = uid
    comment.body = 'This is my second comment'
    cid2 = comment.save()
    assert_eq(2, len(model.comment.get_comments_for_listing(lid)))

    comments = model.comment.get_comments_for_listing(lid, False)
    assert_eq(cid2, comments[0]['cid'])
    assert_eq(cid1, comments[1]['cid'])
コード例 #14
0
def test_update_listing():
    user_id = db.mock_data.create_fake_user()
    assert_eq(model.user.get_number_of_users(), 1)

    listing = model.listing.Listing()
    listing.title = 'My awesome thing.'
    listing.description = 'Blah blah'
    listing.owner_id = user_id
    listing_id = listing.save()
    assert_eq(listing.id, listing_id)

    listing.title = 'Another title.'
    listing.save()

    assert_eq(listing.title, 'Another title.')
    assert_eq(listing.title, 'Another title.')
コード例 #15
0
def test_number_of_listings():
    user_id = db.mock_data.create_fake_user()
    assert_eq(model.listing.get_number_of_listings(), 0)

    model.listing.create_new_listing(
        'title', 'description', user_id)
    assert_eq(model.listing.get_number_of_listings(), 1)

    for _ in xrange(5):
        model.listing.create_new_listing(
            'title', 'description', user_id)
    assert_eq(model.listing.get_number_of_listings(), 6)
コード例 #16
0
def test_create_comment():
    uid = db.mock_data.create_fake_user()
    lid = db.mock_data.create_fake_listings(uid)

    comment = model.comment.Comment()
    comment.lid = lid
    comment.uid = uid
    comment.body = 'This is my comment'
    cid = comment.save()

    new_comment_obj = model.comment.Comment(cid)
    assert_eq('This is my comment', new_comment_obj.body)
    assert_eq(uid, new_comment_obj.uid)
    assert_eq(lid, new_comment_obj.lid)
コード例 #17
0
def test_cant_change_owner():
    user_id = db.mock_data.create_fake_user()
    assert_eq(model.user.get_number_of_users(), 1)

    listing = model.listing.Listing()
    listing.title = 'My awesome thing.'
    listing.description = 'Blah blah'
    listing.owner_id = user_id
    listing_id = listing.save()
    assert_eq(listing.id, listing_id)

    listing.owner_id = 2
    listing.save()
    # Unchanged.
    assert_eq(listing.owner_id, user_id)
コード例 #18
0
def test_listing_search_query_trigger_update():
    user_id = db.mock_data.create_fake_user()
    listing_ids = []
    for title, description in listings:
        ids = model.listing.create_new_listing(title, description, user_id)
        listing_ids.append(ids)

    for listing_id in listing_ids:
        l = model.listing.Listing(listing_id)
        if l.title == "pear":
            l.title = "mango"
        if "apple" in l.description:
            l.description = "pineapple"
        l.save()

    assert_eq(3, len(model.search.listings('pineapple', 20)))
    assert_eq(2, len(model.search.listings('mango', 20)))
    assert_eq(2, len(model.search.listings('pear', 20)))
コード例 #19
0
def test_listing_search_query():
    user_id = db.mock_data.create_fake_user()
    for title, description in listings:
        model.listing.create_new_listing(title, description, user_id)

    assert_eq(3, len(model.search.listings('apple', 20)))
    assert_eq(3, model.search.listings_count('apple'))
    assert_eq(3, len(model.search.listings('orange', 20)))
    assert_eq(3, model.search.listings_count('orange'))
    assert_eq(4, len(model.search.listings('pear', 20)))
    assert_eq(4, model.search.listings_count('pear'))
    assert_eq(4, len(model.search.listings('peach', 20)))
    assert_eq(4, model.search.listings_count('peach'))
    assert_eq(0, len(model.search.listings('grapes', 20)))
    assert_eq(0, model.search.listings_count('grapes'))
コード例 #20
0
def test_listing_search_triggers():
    user_id = db.mock_data.create_fake_user()
    for title, description in listings:
        model.listing.create_new_listing(title, description, user_id)

    assert_eq(6, len(model.search.all_listing_search_entries()))
コード例 #21
0
def test_get_latest_listings():
    user_id = db.mock_data.create_fake_user()
    assert_eq(len(model.listing.get_latest_listings(20)), 0)

    lid = model.listing.create_new_listing(
        'title1', 'description', user_id)
    assert_eq(len(model.listing.get_latest_listings(20)), 1)

    model.listing.create_new_listing(
        'title2', 'description', user_id)

    model.listing.create_new_listing(
        'title3', 'description', user_id)
    assert_eq(len(model.listing.get_latest_listings(20)), 3)

    last_two_listings = model.listing.get_latest_listings(2)
    assert_eq(len(last_two_listings), 2)
    assert_eq(last_two_listings[0]['title'], 'title3')
    assert_eq(last_two_listings[1]['title'], 'title2')
コード例 #22
0
def test_user_update_and_save():
    assert_eq(model.user.get_number_of_users(), 0)

    user_id = model.user.create_new_user('michael', '*****@*****.**',
                                         'mypassword')

    assert_eq(model.user.get_number_of_users(), 1)

    user = model.user.User(user_id)
    assert_eq(user.id, user_id)
    assert_eq(user.name, 'michael')
    assert_eq(user.email, '*****@*****.**')

    user.name = 'John'
    user.bio = 'asdf'
    user.save()

    new_user_obj = model.user.User(user_id)
    assert_eq(new_user_obj.name, 'John')
    assert_eq(new_user_obj.bio, 'asdf')
コード例 #23
0
 def test_latest_schema(self):
     assert_eq(db.latest_schema(), self.latest)
     db.remove()
     assert_eq(db.latest_schema(), 0)
コード例 #24
0
    def test_list_tables(self):
        assert 'schema_table' in db.list_tables()

        db.remove()
        assert_eq(db.list_tables(), [])