Yang
07/08/2022, 10:04 PMmock_resource
?prha
07/08/2022, 10:11 PMmock_resource
is just a thin wrapper around a mock.MagicMock()
objectYang
07/08/2022, 10:22 PMprha
07/08/2022, 10:25 PMResourceDefinition.mock_resource()
, I think you probably want to wrap your own mocked resource then:
my_resource = ResourceDefinition(resource_fn=lambda _context: mock.MagicMock(return_value="hiiii"))
Yang
07/08/2022, 10:28 PMYang
07/08/2022, 11:30 PMYang
07/08/2022, 11:30 PMdagster.core.errors.DagsterTypeCheckDidNotPass: Type check failed for op "leadlag_entities" output "result" - expected type "DataFrame". Description: Value of type <class 'unittest.mock.MagicMock'> failed type check for Dagster type DataFrame, expected value to be of Python type pandas.core.frame.DataFrame.
Yang
07/09/2022, 12:05 AMYang
07/09/2022, 12:05 AMprha
07/09/2022, 12:17 AMprha
07/09/2022, 12:21 AM@resource()
def mocked_resource():
# returns an object that has a method generate_dataframe which returns a DataFrame
foo = mock.MagicMock()
foo.generate_dataframe.return_value = DataFrame()
return foo
@op(required_resource_key={"df_generator"})
def my_op(context):
df = context.resources.df_generator.generate_dataframe()
...
return df
@job(resource_defs={"df_generator": mocked_resource})
def my_job():
my_op()
Yang
07/11/2022, 4:40 PMcontext.resources.secmaster_db.get_entity_universe()
Yang
07/11/2022, 4:41 PM