44
55from google .protobuf import json_format
66from fds .protobuf .stach .Package_pb2 import Package
7+ from urllib3 .response import HTTPResponse
78
89from fds .analyticsapi .engines .api .components_api import ComponentsApi
910from fds .analyticsapi .engines .api .configurations_api import ConfigurationsApi
1920from fds .analyticsapi .engines .models .vault_calculation_parameters import VaultCalculationParameters
2021from fds .analyticsapi .engines .models .vault_identifier import VaultIdentifier
2122from fds .analyticsapi .engines .models .vault_date_parameters import VaultDateParameters
23+ from fds .analyticsapi .engines .models .pub_calculation_parameters import PubCalculationParameters
24+ from fds .analyticsapi .engines .models .pub_identifier import PubIdentifier
25+ from fds .analyticsapi .engines .models .pub_date_parameters import PubDateParameters
2226from fds .analyticsapi .engines .models .calculation_status import CalculationStatus
2327from fds .analyticsapi .engines .models .calculation_unit_status import CalculationUnitStatus
2428from fds .analyticsapi .engines .models .calculation_status_summary import CalculationStatusSummary
@@ -36,20 +40,20 @@ def setUp(self):
3640
3741 def run_calculation (self ):
3842 components_api = ComponentsApi (self .api_client )
39- components = components_api .get_pa_components (common_parameters .pa_deafult_document )
43+ components = components_api .get_pa_components (common_parameters .pa_default_document )
4044 component_id = list (components .keys ())[0 ]
4145
4246 pa_account_identifier = PAIdentifier (common_parameters .pa_benchmark_sp500 )
4347 pa_accounts = [pa_account_identifier ]
4448 pa_benchmark_identifier = PAIdentifier (common_parameters .pa_benchmark_r1000 )
4549 pa_benchmarks = [pa_benchmark_identifier ]
46- pa_dates = PADateParameters (common_parameters .deafult_start_date ,
47- common_parameters .deafult_end_date ,
48- common_parameters .deafult_dates_frequency )
50+ pa_dates = PADateParameters (common_parameters .default_start_date ,
51+ common_parameters .default_end_date ,
52+ common_parameters .default_dates_frequency )
4953
5054 pa_calculation_parameters = {"1" : PACalculationParameters (component_id , pa_accounts , pa_benchmarks , pa_dates )}
5155
52- components = components_api .get_spar_components (common_parameters .spar_deafult_document )
56+ components = components_api .get_spar_components (common_parameters .spar_default_document )
5357 component_id = list (components .keys ())[0 ]
5458
5559 spar_account_identifier = SPARIdentifier (common_parameters .spar_benchmark_r1000 ,
@@ -59,25 +63,30 @@ def run_calculation(self):
5963 spar_benchmark_identifier = SPARIdentifier (common_parameters .spar_benchmark_r2000 ,
6064 common_parameters .spar_benchmark_russell_return_type ,
6165 common_parameters .spar_benchmark_russell_prefix )
62- spar_dates = SPARDateParameters (common_parameters .deafult_start_date ,
63- common_parameters .deafult_end_date ,
64- common_parameters .deafult_dates_frequency )
66+ spar_dates = SPARDateParameters (common_parameters .default_start_date ,
67+ common_parameters .default_end_date ,
68+ common_parameters .default_dates_frequency )
6569
6670 spar_calculation_parameters = {"2" : SPARCalculationParameters (component_id , spar_accounts , spar_benchmark_identifier , spar_dates )}
6771
68- components = components_api .get_vault_components (common_parameters .vault_deafult_document )
72+ components = components_api .get_vault_components (common_parameters .vault_default_document )
6973 component_id = list (components .keys ())[0 ]
7074
71- vault_account_identifier = VaultIdentifier (common_parameters .vault_deafult_account )
72- vault_dates = VaultDateParameters (common_parameters .vault_start_date , common_parameters .vault_end_date , common_parameters .deafult_dates_frequency )
75+ vault_account_identifier = VaultIdentifier (common_parameters .vault_default_account )
76+ vault_dates = VaultDateParameters (common_parameters .vault_start_date , common_parameters .vault_end_date , common_parameters .default_dates_frequency )
7377
7478 configurations_api = ConfigurationsApi (self .api_client )
75- configurations = configurations_api .get_vault_configurations (common_parameters .vault_deafult_account )
79+ configurations = configurations_api .get_vault_configurations (common_parameters .vault_default_account )
7680 configuration_id = list (configurations .keys ())[0 ]
7781
7882 vault_calculation_parameters = {"3" : VaultCalculationParameters (component_id , vault_account_identifier , vault_dates , configuration_id )}
7983
80- calculation = Calculation (pa_calculation_parameters , spar_calculation_parameters , vault_calculation_parameters )
84+ pub_account_identifier = PubIdentifier (common_parameters .pub_account_name );
85+ pub_dates = PubDateParameters (common_parameters .pub_start_date , common_parameters .pub_end_date );
86+
87+ pub_calculation_parameters = {"4" : PubCalculationParameters (common_parameters .pub_document_name , pub_account_identifier , pub_dates )}
88+
89+ calculation = Calculation (pa_calculation_parameters , spar_calculation_parameters , vault_calculation_parameters , pub_calculation_parameters )
8190 return self .calculations_api .run_calculation_with_http_info (calculation = calculation )
8291
8392 def test_create_calculation (self ):
@@ -105,21 +114,30 @@ def test_calculation_success(self):
105114
106115 self .assertEqual (self .status_response [1 ], 200 , "Calculation should be completed" )
107116 self .assertEqual (self .status_response [0 ].status , "Completed" , "Calculation status should be completed" )
117+ self .assertEqual (type (self .status_response [0 ]), CalculationStatus , "Response should be of CalculationStatus type" )
118+
119+ engines = ["pa" , "spar" , "vault" , "pub" ]
108120
109- calculations = list (self .status_response [0 ].pa .values ()) + list (self .status_response [0 ].spar .values ()) + list (self .status_response [0 ].vault .values ())
121+ for engine in engines :
122+ calculations = getattr (self .status_response [0 ], engine ).values ()
123+ for calc in calculations :
124+ self .assertEqual (type (calc ), CalculationUnitStatus , "Response should be of CalculationUnitStatus type" )
125+ self .assertEqual (calc .status , "Success" , "Calculation should be successful" )
126+ self .assertNotEqual (calc .result , None , "Response result should not be null" )
110127
111- for calc in calculations :
112- self .assertEqual (type (calc ), CalculationUnitStatus , "Response should be of CalculationUnitStatus type" )
113- self .assertEqual (calc .status , "Success" , "Calculation should be successful" )
114- self .assertNotEqual (calc .result , None , "Response result should not be null" )
128+ utility_api = UtilityApi (self .api_client )
115129
116- utility_api = UtilityApi (self .api_client )
117- result_response = utility_api .get_by_url_with_http_info (calc .result )
130+ if engine is not "pub" :
131+ result_response = utility_api .get_by_url_with_http_info (calc .result )
132+ result = json_format .Parse (json .dumps (result_response [0 ]), Package ())
118133
119- result = json_format .Parse (json .dumps (result_response [0 ]), Package ())
134+ self .assertEqual (result_response [1 ], 200 , "Response should be 200 - Success" )
135+ self .assertEqual (type (result ), Package , "Response should be of Package type." )
136+ else :
137+ result_response = utility_api .get_by_url_with_http_info (calc .result , _preload_content = False )
120138
121- self .assertEqual (result_response [1 ], 200 , "Response should be 200 - Success" )
122- self .assertEqual (type (result ), Package , "Response should be of Package type." )
139+ self .assertEqual (result_response [1 ], 200 , "Response should be 200 - Success" )
140+ self .assertEqual (type (result_response [ 0 ] ), HTTPResponse , "Response should be of HTTPResponse type." )
123141
124142 def test_delete_calculation (self ):
125143 calculation_id = self .create_response [2 ].get ("location" ).split ("/" )[- 1 ]
0 commit comments