def test_logNewsClickForUser():
    operations.logNewsClickForUser('test_user', 'test_news')
    msg = cloudAMQP_client.get_message()
    assert msg['userId'] == 'test_user'
    assert msg['newsId'] == 'test_news'

    print('test_logNewsClickForUser passed!')
示例#2
0
def test_logNewsClickForUser_basic():
    db = mongodb_client.get_db()
    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    operations.logNewsClickForUser('test', 'test_news')

    # Verify click logs written into MongoDB
    # Get most recent record in MongoDB.
    record = list(db[CLICK_LOGS_TABLE_NAME].find().sort([('timestamp', -1)
                                                         ]).limit(1))[0]

    assert record is not None
    assert record['userId'] == 'test'
    assert record['newsId'] == 'test_news'
    assert record['timestamp'] is not None

    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    # Verify the message has been sent to queue.
    msg = cloudAMQP_client.getMessage()
    assert msg is not None
    assert msg['userId'] == 'test'
    assert msg['newsId'] == 'test_news'
    assert msg['timestamp'] is not None

    print 'test_logNewsClicksForUser_basic passed!'
示例#3
0
def test_logNewsClickForUser_basic():
    db = mongodb_client.get_db()
    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    operations.logNewsClickForUser('test', 'test_news')

    # Verify click logs written into MongoDB
    # Get most recent record in MongoDB.
    record = list(db[CLICK_LOGS_TABLE_NAME].find().sort([('timestamp', -1)
                                                         ]).limit(1))[0]

    assert record is not None
    assert record['userId'] == 'test'
    assert record['newsId'] == 'test_news'
    assert record['timestamp'] is not None

    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    # Verify the message can be received by kafkaconsumer.
    for msg in Log_kafka_consumer:
        dumpmsg = json.loads(msg)
        assert dumpmsg['userId'] == 'test'
        assert dumpmsg['newsId'] == 'test_news'

    print 'test_logNewsClicksForUser_basic passed!'
示例#4
0
def test_logNewsClickForUser_basic():
    db = mongodb_client.get_db()
    #db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    operations.logNewsClickForUser('test', 'test_news', False, True)

    # Verify click logs written into MongoDB
    # Get most recent record in MongoDB.
    record = list(db[CLICK_LOGS_TABLE_NAME].find().sort([('timestamp', -1)
                                                         ]).limit(1))[0]

    assert record is not None
    assert record['userId'] == 'test'
    assert record['newsId'] == 'test_news'
    assert record['timestamp'] is not None

    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    # Verify the message has been sent to queue. Delay may occur and please re-run after a while if this test failed
    msg = cloudAMQP_client.getMessage()
    assert msg is not None
    assert msg['userId'] == 'test'
    assert msg['newsId'] == 'test_news'
    assert msg['timestamp'] is not None

    app_log.info('test_logNewsClicksForUser_basic passed!')
示例#5
0
def test_logNewsClickForUser():
    operations.logNewsClickForUser('test_user', 'test_news')
    cloudAMQP_client.sleep(1)
    msg = cloudAMQP_client.getMessage()
    assert (msg['userId'] == 'test_user')
    assert (msg['newsId'] == 'test_news')

    print('test_logNewsClickForUser passed!')
示例#6
0
def test_logNewsClickForUser():
    operations.logNewsClickForUser(userName, "news1")
    click_client.sleep(3)
    msg = click_client.getMessage()
    assert msg['userId'] == userName
    assert msg['newsId'] == 'news1'

    print('test_logNewsClickForUser passed!')
示例#7
0
def test_getNewsSummariesForUser_click():
    operations.logNewsClickForUser("user1", "news1")
    click_client.sleep(3)
    news = operations.getNewsSummariesForUser("user1", 1)
    for one_news in news:
        if one_news['class'] is not None:
            if one_news['class'] == 'World':
                assert one_news['reason'] == 'recommended'
            else:
                assert 'reason' not in one_news
    print('test_getNewsSummariesForUser_click passed!')
def log_news_click_for_user(user_id, news_id):
    """ Log a news click event for a user. """
    LOGGER.debug("log_news_click_for_user is called with %s and %s", user_id,
                 news_id)
    print("log_news_click_for_user is called with %s and %s" %
          (user_id, news_id))
    return operations.logNewsClickForUser(user_id, news_id)
示例#9
0
def test_logNewsClickForUser_basic():
    db = mongodb_client.get_db()
    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})
    operations.logNewsClickForUser('test', 'test_news')
    record = list(db[CLICK_LOGS_TABLE_NAME].find().sort([('timestamp', -1)
                                                         ]).limit(1))[0]

    assert record is not None
    assert record['userId'] == 'test'
    assert record['newsId'] == 'test_news'
    assert record['timestamp'] is not None

    db[CLICK_LOGS_TABLE_NAME].delete_many({"userId": "test"})

    msg = cloudAMQP_client.getMessage()
    assert msg is not None
    print('log_click test passing')
    print(msg, 'msg')
示例#10
0
 def logNewsClickForUser(self, user_id, news_id):
     logger.info('calling backend_server logNewsClickForUser')
     return operations.logNewsClickForUser(user_id, news_id)
示例#11
0
def logNewsClickForUser(user_id, news_id):
    """Log user news clicks"""
    print(user_id)
    return operations.logNewsClickForUser(user_id, news_id)
示例#12
0
def logNewsClickForUser(user_id, news_id):
    print(user_id)
    operations.logNewsClickForUser(user_id, news_id)
示例#13
0
 def logNewsClickForUser(self, user_id, news_id):
     print "Store behavior is called %s and %s" % (user_id, news_id)
     return operations.logNewsClickForUser(user_id, news_id)
示例#14
0
 def logNewsClickForUser(self, user_id, news_id):
     args = ['tap-news.services.rpcRequest','1']
     msg_to_graphite.main(args)
     return operations.logNewsClickForUser(user_id, news_id)
示例#15
0
 def logNewsClickForUser(self, user_id, news_id, rate):
     logging.info('backend_server: %s rates %s for news: %s' % (user_id, rate, news_id))
     return operations.logNewsClickForUser(user_id, news_id, rate)
示例#16
0
 def logNewsClickForUser(self, user_id, news_id):
     """ Log user news click. """
     return operations.logNewsClickForUser(user_id, news_id)
示例#17
0
def log_news_click_for_user(user_id, news_id):
    """log_news_click_for_user called"""
    LOGGER.debug("log_news_click_for_user is called for user %s, and news %s",
                 user_id, news_id)  #rpc传入的参数都认为是string
    return operations.logNewsClickForUser(user_id, news_id)
示例#18
0
 def logNewsClickForUser(self, user_id, news_id, user_agent, news_category):
     return operations.logNewsClickForUser(user_id, news_id, user_agent,
                                           news_category)
示例#19
0
 def logNewsClickForUser(self, user_id, news_id, isLikeToggleOn, isDislikeToggleOn):
     return operations.logNewsClickForUser(user_id, news_id, isLikeToggleOn, isDislikeToggleOn)
示例#20
0
def logNewsClickForUser(user_id, news_id):
    print("log click event for user %s, on news id %s" % (user_id, news_id))
    return operations.logNewsClickForUser(user_id, news_id)
示例#21
0
 def logNewsClickForUser(self, user_id, news_id):
     print('rpc method log news click')
     return operations.logNewsClickForUser(user_id, news_id)
示例#22
0
 def logNewsClickForUser(self, user_id, news_id):
     logger.info('log news clicks for user')
     return operations.logNewsClickForUser(user_id, news_id)
示例#23
0
 def logNewsClickForUser(self, user_id, news_id):  # pylint: disable=no-self-use
     """ Log news click for a user.  """
     print "logNewsClickForUser is called with %s and %s" % (user_id,
                                                             news_id)
     return operations.logNewsClickForUser(user_id, news_id)
示例#24
0
 def logNewsClickForUser(self, user_id, news_id):
     try:
         return operations.logNewsClickForUser(user_id, news_id)
     except Exception as e:
         log_client.logger.error(str(e))
示例#25
0
def log_news_click_for_user(user_id, news_id):
    print(("log_news_click_for_user is called with %s and %s" %
           (user_id, news_id)))
    return operations.logNewsClickForUser(user_id, news_id)
示例#26
0
 def logNewsClickForUser(self, user_id, news_id, rate):
     logging.info('backend_server: %s rates %s for news: %s' %
                  (user_id, rate, news_id))
     return operations.logNewsClickForUser(user_id, news_id, rate)
示例#27
0
 def logNewsClickForUser(self, user_id, news_id):
     return operations.logNewsClickForUser(user_id, news_id)
示例#28
0
def log_news_click_for_user(user_id, news_id):
    """logNewsClickForUser"""
    print("log_news_click_for_user is called with %s and %s" %
          (user_id, news_id))
    operations.logNewsClickForUser(user_id, news_id)