def set_up(self): super(TestPngjpSanityPerKPI, self).set_up() # mock parse_template to return the expected DFs self.get_template_path_mock = MagicMock( 'parse_template', path='Projects.PNGJP.Utils.ParseTemplates', side_effect=[ pd.DataFrame(parse_template_data.template_data), pd.DataFrame(parse_template_data.innovation_assortment), pd.DataFrame(parse_template_data.psku_assortment), pd.DataFrame(parse_template_data.scene_types), pd.DataFrame(parse_template_data.golden_zone_data_criteria) ]) # get expected results data self.test_results_against = pd.DataFrame( expected_results_from_db.expected_results) self.kpi_expected_results_df = self.test_results_against[ ~self.test_results_against['sum_result'].isnull()] # load seed data self.save_kpi_results_in_seed() # get actual results from seed self.kpi_actual_results_df = self.get_kpi_actual_results_from_seed() # mock template remove_cache_and_storage()
def set_up(self): super(TestPngcn, self).set_up() remove_cache_and_storage() # mock PSProjectConnector self.ProjectConnector_mock = self.mock_object( 'ProjectConnector', path='KPIUtils_v2.DB.PsProjectConnector') self.ProjectConnector_mock = self.mock_object( 'get_png_manufacturer_fk', path='Projects.PNGCN_PROD.SceneKpis.KPISceneToolBox.PngcnSceneKpis') self.ProjectConnector_mock.return_value = 4 self.matches_mock = self.mock_object( 'get_match_product_in_scene', path='Projects.PNGCN_PROD.KPIToolBox.PNGToolBox') self.PSProjectConnector = self.mock_object('PSProjectConnector', path='KPIUtils_v2.DB.PsProjectConnector') self.block = self.mock_object('Block') # mock 'Common' object used in toolbox self.common_mock = self.mock_object( 'Common.get_kpi_fk_by_kpi_name', path='KPIUtils_v2.DB.CommonV2') self.SessionInfo_mock = self.mock_object( 'SessionInfo', path='Trax.Algo.Calculations.Core.Shortcuts') self.common_mock.return_value = 3 # get the relevant DFs matches = pd.DataFrame(r.matches) scif = pd.DataFrame(r.scif) all_products = pd.DataFrame(r.all_products) products = pd.DataFrame(r.all_products) session_info = pd.DataFrame(r.session_info) # create a dict of data_provider object relevant attributes my_dict = {'matches': matches, 'scene_item_facts': scif, 'all_products': all_products, 'products': products, 'session_info': session_info, 'store_fk': session_info['store_fk'].iloc[0], 'visit_date': session_info['visit_date'].iloc[0], 'session_and_store_info': pd.DataFrame({'values': [4, 67, 8, 2]}), 'templates': pd.DataFrame([{'template_fk': None}])} # decode manufacturer_name (to work around get_png_manufacturer_fk method) my_dict['all_products']['manufacturer_name'] = my_dict['all_products']['manufacturer_name'].str.decode( 'utf8') # mock 'data provider' object giving to the toolbox self.data_provider_mock = MagicMock() self.output_mock = MagicMock() # making data_provider_mock behave like a dict self.data_provider_mock.__getitem__.side_effect = my_dict.__getitem__ self.data_provider_mock.__iter__.side_effect = my_dict.__iter__ self.psdataprovider = self.mock_object('PsDataProvider', path='Projects.PNGCN_PROD.SceneKpis.KPISceneToolBox') self.psdataprovider.get_kpi_external_targets.return_value = pd.DataFrame([{'template_fk': [144, 145]}])
def set_up(self): super(TestDiageotw, self).set_up() self.project_name = ProjectsSanityData.project_name self.output = Output() self.mock_object('save_latest_templates', path='KPIUtils.DIAGEO.ToolBox.DIAGEOToolBox') self.session_uid = 'B1F11D51-DC00-4FDB-86E4-B389530C66DB' remove_cache_and_storage()
def set_up(self): super(TestKEngineOutOfTheBox, self).set_up() self.mock_object('save_latest_templates', path='KPIUtils.DIAGEO.ToolBox.DIAGEOToolBox') self.mock_object( 'save_level2_and_level3', path='Projects.PENAFLORAR.Utils.KPIToolBox.PENAFLORARToolBox') remove_cache_and_storage()
def set_up(self): super(TestCCCBR, self).set_up() remove_cache_and_storage() # mock PSProjectConnector self.CCBRGENERALToolBox_mock = self.mock_object( 'CCBRGENERALToolBox', path='Projects.CCBR_PROD.Utils.GeneralToolBox') self.SessionInfo_mock = self.mock_object( 'SessionInfo', path='Trax.Algo.Calculations.Core.Shortcuts') self.BaseCalculationsGroup_mock = self.mock_object( 'BaseCalculationsGroup', path='Trax.Algo.Calculations.Core.Shortcuts') self.ProjectConnector_mock = self.mock_object( 'Common', path='KPIUtils.DB.Common') self.ProjectConnector_mock = self.mock_object( 'PSProjectConnector', path='KPIUtils_v2.DB.PsProjectConnector') self.PsDataProvider_mock = self.mock_object( 'PsDataProvider', path='KPIUtils_v2.GlobalDataProvider.PsDataProvider') self.load_exel_to_df_mock = self.mock_object( 'load_exel_to_df', path='Projects.CCBR_PROD.Utils.KPIToolBox.CCBRToolBox') get_kpi_fk_by_kpi_name_new_tables = self.mock_object( 'Common.get_kpi_fk_by_kpi_name_new_tables') get_kpi_fk_by_kpi_name_new_tables.side_effect = self.survey_response_mock # send templates as DFs self.load_exel_to_df_mock.side_effect = [ pd.DataFrame(records.count_sheet), pd.DataFrame(records.group_count_sheet), pd.DataFrame(records.survey_sheet) ] # mock 'data provider' and object self.data_provider_mock = MagicMock() self.output_mock = MagicMock() # create a dict of data_provider object relevant attributes self.my_dict = { 'all_products': pd.DataFrame(records.all_products), 'store_info': pd.DataFrame(records.store_info), 'scene_item_facts': pd.DataFrame(records.scif), 'products': pd.DataFrame(records.products), 'session_info': pd.DataFrame(records.session_info), 'survey_responses': pd.DataFrame(records.survey_responses), 'visit_date': datetime.date(2018, 6, 11), 'scenes_info': pd.DataFrame({'template_fk': [3, 5, 6]}), 'all_templates': pd.DataFrame({'template_fk': [3, 5, 6]}), 'session_and_store_info': pd.DataFrame({'col1': [3, 5, 6]}), 'store_fk': 232, 'active_products': pd.DataFrame(records.active_products) } # making data_provider_mock behave like a dict self.data_provider_mock.__getitem__.side_effect = self.my_dict.__getitem__ self.data_provider_mock.__iter__.side_effect = self.my_dict.__iter__ self.tool_box = CCBRToolBox(self.data_provider_mock, self.output_mock)
def set_up(self): super(TestKEngineOutOfTheBox, self).set_up() self.mock_object( 'save_latest_templates', path= 'KPIUtils.GlobalProjects.DIAGEO.Utils.TemplatesUtil.TemplateHandler' ) self.mock_object( 'download_template', path= 'KPIUtils.GlobalProjects.DIAGEO.Utils.TemplatesUtil.TemplateHandler' ) remove_cache_and_storage()
def set_up(self): super(TestCcus, self).set_up() remove_cache_and_storage() self.project_name = ProjectsSanityData.project_name self.session_uid = '8395fc95-465b-47c2-ad65-6d10de13cd75'
def set_up(self): super(TestKEngineOutOfTheBox, self).set_up() remove_cache_and_storage()
def set_up(self): super(PsSanityTestsFuncs, self).set_up() remove_cache_and_storage() self.user = os.environ.get('USER')
def set_up(self): super(TestKEngineOutOfTheBox, self).set_up() from Tests.TestUtils import remove_cache_and_storage remove_cache_and_storage()
def set_up(self): super(TestKEngineOutOfTheBox, self).set_up() remove_cache_and_storage() self.mock_object(object_name='commit_results_data', path='KPIUtils_v2.DB.CommonV2.Common')
def set_up(self): super(TestDiageopt, self).set_up() self.project_name = ProjectsSanityData.project_name self.output = Output() self.session_uid = '963D013D-EEB6-48DF-B8EC-06C8E0C2AA6C' remove_cache_and_storage()