Пример #1
0
    def test_interface_online_user_resource_visitinfo(self):
        uid = 'tiv_online_1'
        self.assertEqual(False, model_interface.set_online_user_resource_visitinfo(uid, 'music', None))
        resource_type_list = ['music', 'novl', 'movie']
        prefer_res = {}
        for resource_type in resource_type_list:
            prefer_res[resource_type] = 'tif_visitinfo_%s_%s' % (uid, resource_type)
            self.assertEqual(True, model_interface.set_online_user_resource_visitinfo(uid, resource_type, prefer_res[resource_type]))
        res = model_interface.get_online_user_resource_visitinfo(uid, resource_type_list)
        self.assertEqual(True, res[0])
        self.assertEqual(prefer_res, res[1])

        uid = 'tiv_offline_1'
        prefer_res = {}
        db_resource_type_list = ['music', 'novl', 'movie']
        for resource_type in db_resource_type_list:
            prefer_res[resource_type] = 'db_visitinfo_%s_%s' % (uid, resource_type)
            self.assertEqual(True, db_models_update.set_db_offline_user_resource_visitinfo(uid, resource_type, prefer_res[resource_type]))

        cache_resource_type_list = ['music']
        for resource_type in cache_resource_type_list:
            prefer_res[resource_type] = 'cache_visitinfo_%s_%s' % (uid, resource_type)
            self.assertEqual(True, cache_models.set_cache_offline_user_resource_visitinfo(uid, resource_type, prefer_res[resource_type]))
        res = model_interface.get_offline_user_resource_visitinfo(uid, resource_type_list + ['imag'])
        self.assertEqual(True, res[0])
        self.assertEqual(prefer_res, res[1])

        res = cache_models.get_cache_offline_user_resource_visitinfo(uid, resource_type_list + ['imag'])
        #print 'perfer_res: %s' % prefer_res
        #print 'real_res: %s' % res[1]
        self.assertEqual(True, res[0])
        for k,v in res[1].items():
            if v == DataDef.CACHE_DEFAULT_NONE_VALUE:
                res[1].pop(k)
        self.assertEqual(prefer_res, res[1])
Пример #2
0
    def test_update_user_resource_visitinfo(self):
        resource_type = 'novl'
        uid = 'urv_007'
        visitinfo_data = 'visit_%s_%s' % (resource_type, uid)
        self.assertEqual(True, cache_models.set_cache_online_user_resource_visitinfo(uid, resource_type, visitinfo_data))
        res = cache_models.get_cache_online_user_resource_visitinfo(uid, [resource_type])
        self.assertEqual(True, res[0])
        self.assertEqual({resource_type: visitinfo_data}, res[1])
        self.assertEqual(True, cache_update_process.cache_clear_online_user_resource_visitinfo())
        res = cache_models.get_cache_online_user_resource_visitinfo(uid, [resource_type])
        self.assertEqual(True, res[0])
        self.assertEqual({}, res[1])

        uid = 'urv_006'
        resource_type_list = ['novl', 'news', 'musc']
        prefer_res = {}
        for resource_type in resource_type_list:
            prefer_res[resource_type] = 'visit_%s_%s_cache' % (uid, resource_type)
            self.assertEqual( True, cache_models.set_cache_offline_user_resource_visitinfo(uid, resource_type, prefer_res[resource_type]))
        res = cache_models.get_cache_offline_user_resource_visitinfo(uid, resource_type_list)
        self.assertEqual(True, res[0])
        self.assertEqual(prefer_res, res[1])

        db_resource_type_list = ['novl', 'movi']
        update_prefer_res = {}
        for resource_type in db_resource_type_list:
            prefer_res[resource_type] = 'visit_%s_%s_db' % (uid, resource_type)
            update_prefer_res[resource_type] = 'visit_%s_%s_db' % (uid, resource_type)
            self.assertEqual( True, db_models_update.set_db_offline_user_resource_visitinfo(uid, resource_type, prefer_res[resource_type]))
        self.assertEqual(True, cache_update_process.cache_update_offline_user_resource_visitinfo(['novl', 'news', 'movi', 'musc']))
        res = cache_models.get_cache_offline_user_resource_visitinfo(uid, ['novl', 'news', 'movi', 'musc'])
        self.assertEqual(True, res[0])
        self.assertEqual(update_prefer_res, res[1])
Пример #3
0
    def test_cache_update_all_together(self):
        uid = 'db_uid'
        resource_type = 'movi'
        item_id = 'db_item_id'
        feature_name = 'db_feature_name'
        self.assertEqual(True, db_models_update.set_db_offline_user_resource_visitinfo(uid, resource_type, 'db_visit_info_data'))
        self.assertEqual(True, db_models_update.set_db_offline_user_feature_list(uid, resource_type, 'db_feature_list_data'))
        self.assertEqual(True, db_models_update.set_db_offline_user_recommend_item_list(uid, resource_type, 'db_user_recommend_item_list'))
        self.assertEqual(True, db_models_update.set_db_offline_item_features(item_id, resource_type, 'db_item_features_data'))
        self.assertEqual(True, db_models_update.set_db_offline_item_recommend_item_list(item_id, resource_type, 'db_item_id_list_data'))
        self.assertEqual(True, db_models_update.set_db_offline_feature_hot_item_list(feature_name, resource_type, 'db_hot_item_list_data'))
        self.assertEqual(True, db_models_update.set_db_offline_global_hot_feature_list(resource_type, 'db_hot_feature_list_data'))
        self.assertEqual(True, db_models_update.set_db_offline_item_id_new_to_old(resource_type, item_id, 'db_old_item_id_data'))

        cache_uid = 'cache_uid'
        cache_item_id = 'cache_item_id'
        cache_feature_name = 'cache_feature_name'
        self.assertEqual(True, cache_models.set_cache_online_user_resource_visitinfo(cache_uid, resource_type, 'on_cache_visit_info_data'))
        self.assertEqual(True, cache_models.set_cache_offline_user_resource_visitinfo(cache_uid, resource_type, 'cache_visit_info_data'))
        self.assertEqual(True, cache_models.set_cache_online_user_feature_list(cache_uid, resource_type, 'on_cache_feature_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_user_feature_list(cache_uid, resource_type, 'cache_feature_list_data'))
        self.assertEqual(True, cache_models.set_cache_online_user_feature_reason(cache_uid, 'cache_feature_list_data'))
        self.assertEqual(True, cache_models.set_cache_online_user_favor_item_list(cache_uid, resource_type, 'cache_item_id_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_user_recommend_item_list(cache_uid, resource_type, 'cache_feature_name_item_id_list_data'))
        self.assertEqual(True, cache_models.set_cache_online_user_push_item_list(cache_uid, 'cache_item_id_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_item_recommend_item_list(cache_item_id, 'cache_item_id_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_item_features(cache_item_id, 'cache_item_feature_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_feature_hot_item_list(cache_feature_name, 'cache_item_id_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_global_hot_feature_list(resource_type, 'cache_item_feature_list_data'))
        self.assertEqual(True, cache_models.set_cache_offline_item_id_new_to_old(cache_item_id, 'cache_old_item_id_data'))
        import cache_update_process
        all_resource_type_list = ['movi', 'news']
        common_resource_type_list = ['movi']
        self.assertEqual(True, cache_update_process.cache_update_all_together(all_resource_type_list, common_resource_type_list))
        self.assertEqual((True, {}), cache_models.get_cache_online_user_resource_visitinfo(cache_uid, [resource_type]))
        self.assertEqual((True, {resource_type:'db_visit_info_data'}), cache_models.get_cache_offline_user_resource_visitinfo(uid, [resource_type]))
        self.assertEqual((True, {}), cache_models.get_cache_online_user_feature_list(cache_uid, [resource_type]))
        self.assertEqual((True, {resource_type:'db_feature_list_data'}), cache_models.get_cache_offline_user_feature_list(uid, [resource_type]))
        self.assertEqual((True, None), cache_models.get_cache_online_user_feature_reason(cache_uid))
        self.assertEqual((True, {}), cache_models.get_cache_online_user_favor_item_list(cache_uid, [resource_type]))
        self.assertEqual((True, 'cache_item_id_list_data'), cache_models.get_cache_online_user_push_item_list(cache_uid))
        self.assertEqual((True,{resource_type:'db_user_recommend_item_list'}), cache_models.get_cache_offline_user_recommend_item_list(uid, [resource_type]))
        self.assertEqual((True,{item_id:'db_item_id_list_data'}), cache_models.get_cache_offline_item_recommend_item_list([item_id]))
        self.assertEqual((True,{item_id:'db_item_features_data'}), cache_models.get_cache_offline_item_features([item_id]))
        self.assertEqual((True,{feature_name:'db_hot_item_list_data'}), cache_models.get_cache_offline_feature_hot_item_list([feature_name]))
        self.assertEqual((True,{resource_type:'db_hot_feature_list_data'}), cache_models.get_cache_offline_global_hot_feature_list([resource_type]))
        self.assertEqual((True,{item_id:'db_old_item_id_data'}), cache_models.get_cache_offline_item_id_new_to_old([item_id]))
Пример #4
0
 def test_db_user_resource_visitinfo(self):
     uid = '1234567'
     resource_type_list = ['music', 'news', 'movie']
     visit_info = VisitInfo()
     visit_info.pv_count = 5
     visit_info.click_count = 1
     visit_info.weight = 0.2
     visit_info_data = visit_info.SerializeToString()
     for resource_type in resource_type_list:
         self.assertEqual( True, db_models_update.set_db_offline_user_resource_visitinfo(uid, resource_type, visit_info_data))
     prefer_res = {}
     for resource_type in resource_type_list:
         prefer_res[resource_type] = visit_info
     res = db_models.get_db_offline_user_resource_visitinfo(uid, resource_type_list)
     real_res = {}
     self.assertEqual(True, res[0])
     for k, v in res[1].items():
         res_visit_info = VisitInfo()
         res_visit_info.ParseFromString(v)
         real_res[k] = res_visit_info
     self.assertEqual(prefer_res, real_res)