def test_process_query_view_miss(self, process_props: ProcessProps) -> None: local_client = DgraphClient(DgraphClientStub("localhost:9080")) created_proc = get_or_create_process(self, local_client, process_props) assert ( created_proc.process_id is not None and created_proc.arguments is not None and created_proc.created_timestamp is not None and created_proc.terminate_time is not None and created_proc.image_name is not None and created_proc.process_name is not None ) queried_proc = ( ProcessQuery() .with_node_key(eq=created_proc.node_key) .with_process_id(eq=Not(created_proc.process_id)) .with_arguments(eq=Not(created_proc.arguments)) .with_created_timestamp(eq=Not(created_proc.created_timestamp)) .with_terminate_time(eq=Not(created_proc.terminate_time)) .with_image_name(eq=Not(created_proc.image_name)) .with_process_name(eq=Not(created_proc.process_name)) .query_first(local_client) ) assert not queried_proc
def test_process_query_view_parity(self, process_props: ProcessProps): local_client = DgraphClient(DgraphClientStub("localhost:9080")) created_proc = get_or_create_process(self, local_client, process_props,) queried_proc = ( ProcessQuery() .with_node_key(eq=created_proc.node_key) .query_first(local_client) ) assert queried_proc assert process_props["node_key"] == queried_proc.node_key assert "Process" == queried_proc.get_node_type() assert process_props["process_id"] == queried_proc.get_process_id() assert process_props["arguments"] == escape_dgraph_str( queried_proc.get_arguments() ) assert ( process_props["created_timestamp"] == queried_proc.get_created_timestamp() ) assert None == queried_proc.get_asset() assert process_props["terminate_time"] == queried_proc.get_terminate_time() assert process_props["image_name"] == escape_dgraph_str( queried_proc.get_image_name() ) assert process_props["process_name"] == escape_dgraph_str( queried_proc.get_process_name() )
def test_single_process_connected_to_asset_node( self, asset_props: AssetProps, process_props: ProcessProps, ): local_client = MasterGraphClient() created_asset = get_or_create_asset(self, local_client, asset_props) created_proc = get_or_create_process(self, local_client, process_props) create_edge( local_client, created_asset.uid, "asset_processes", created_proc.uid, ) create_edge(local_client, created_proc.uid, "process_asset", created_asset.uid) # Setup complete, do some queries queried_proc = (ProcessQuery().with_asset(AssetQuery().with_hostname( eq=created_asset.get_hostname())).query_first( local_client, contains_node_key=created_proc.node_key)) assert queried_proc queried_proc._expand() assert_equal_props(created_proc, queried_proc) queried_asset = queried_proc.get_asset() assert_equal_identity(created_asset, queried_asset)
def test_single_process_contains_key(self, process_props: ProcessProps) -> None: local_client = DgraphClient(DgraphClientStub("localhost:9080")) created_proc = get_or_create_process(self, local_client, process_props) # Setup complete, do some queries queried_proc = ProcessQuery().query_first( local_client, contains_node_key=created_proc.node_key ) assert queried_proc assert created_proc.get_process_id() == queried_proc.get_process_id() assert created_proc.node_key == queried_proc.node_key assert "Process" == queried_proc.get_node_type() assert created_proc.get_arguments() == queried_proc.get_arguments() assert ( created_proc.get_created_timestamp() == queried_proc.get_created_timestamp() ) assert created_proc.get_terminate_time() == queried_proc.get_terminate_time() assert created_proc.get_image_name() == queried_proc.get_image_name() assert created_proc.get_process_name() == queried_proc.get_process_name() assert not queried_proc.get_asset()
def test_single_process_connected_to_asset_node( self, asset_props: AssetProps, process_props: ProcessProps, ): local_client = DgraphClient(DgraphClientStub("localhost:9080")) created_asset = get_or_create_asset(self, local_client, asset_props) created_proc = get_or_create_process(self, local_client, process_props) create_edge( local_client, created_asset.uid, "asset_processes", created_proc.uid, ) # Setup complete, do some queries queried_proc = ( ProcessQuery() .with_asset(AssetQuery().with_hostname(created_asset.get_hostname())) .query_first(local_client, contains_node_key=created_proc.node_key) ) assert queried_proc fetch_all_properties(queried_proc) assert_equal_props(created_proc, queried_proc) queried_asset = queried_proc.get_asset() assert_equal_identity(created_asset, queried_asset)