def test_submission_rescan_text(self): with patch('polyswarm_api.api.PolyswarmAPI.rescan', return_value=mock_polyswarm_api_results.instances(self)[0]), \ patch('polyswarm_api.api.PolyswarmAPI.lookup', return_value=mock_polyswarm_api_results.instances(self)[0]): result = self._run_cli([ '--output-format', 'text', '-c', 'gamma', 'rescan', '275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f' ]) self._assert_text_result( result, expected_output=mock_polyswarm_api_results.text_instances()[0], expected_return_code=0, )
def test_search_metadata_with_json_output(self): with patch( 'polyswarm_api.api.PolyswarmAPI.search_by_metadata', return_value=[mock_polyswarm_api_results.instances(self)[0]]): result = self._run_cli([ '--output-format', 'json', 'search', 'metadata', 'hash.sha256:' + self.test_hash_value ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0)
def test_submission_rescan_id_json(self): with patch('polyswarm_api.api.PolyswarmAPI.rescan_id', return_value=mock_polyswarm_api_results.instances(self)[0]), \ patch('polyswarm_api.api.PolyswarmAPI.lookup', return_value=mock_polyswarm_api_results.instances(self)[0]): result = self._run_cli([ '--output-format', 'json', '-c', 'gamma', 'rescan-id', '11611818710765483' ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0, )
def test_submission_lookup_json(self): with patch('polyswarm_api.api.PolyswarmAPI.submit', return_value=mock_polyswarm_api_results.instances(self)[0]), \ patch('polyswarm_api.api.PolyswarmAPI.lookup', return_value=mock_polyswarm_api_results.instances(self)[0]): result = self._run_cli([ '--output-format', 'json', '-c', 'gamma', 'lookup', '49091542211453596' ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0, )
def test_submission_create_text(self): with patch('polyswarm_api.api.PolyswarmAPI.submit', return_value=mock_polyswarm_api_results.instances(self)[0]), \ patch('polyswarm_api.api.PolyswarmAPI.lookup', return_value=mock_polyswarm_api_results.instances(self)[0]): result = self._run_cli([ '--output-format', 'text', '-c', 'gamma', 'scan', 'file', self._get_test_resource_file_path('malicious') ]) self._assert_text_result( result, expected_output=mock_polyswarm_api_results.text_instances()[0], expected_return_code=0, )
def test_search_hash(self): url = 'https://api.polyswarm.network/v2/search/hash/sha256?hash=275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f' responses.add(responses.GET, url, body=self.mock_search_response_page1) result = self._run_cli([ '--output-format', 'json', 'search', 'hash', self.test_hash_value ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0)
def test_search_hash_with_text_output(self): with patch( 'polyswarm_api.api.PolyswarmAPI.search', return_value=[mock_polyswarm_api_results.instances(self)[0]]): result = self._run_cli([ '--output-format', 'text', 'search', 'hash', self.test_hash_value ]) self._assert_text_result( result, expected_output=mock_polyswarm_api_results.text_instances()[0], expected_return_code=0, )
def test_scan_submission_lookup(self): url = 'https://api.polyswarm.network/v2/consumer/submission/lima/49091542211453596' responses.add(responses.GET, url, body=self.mock_submission_response) result = self._run_cli([ '--output-format', 'json', '-c', self.community, 'lookup', self.test_submission_uuid ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0, )
def __init__(self, *args, **kwargs): super(IntegrationTest, self).__init__(*args, **kwargs) self.mock_search_response_page1 = self._create_response( [mock_polyswarm_api_results.instances(self)[0].json], offset=1, limit=1, has_more=False) self.mock_metadata_search_response = self._create_response( [mock_polyswarm_api_results.metadata(self)[0].json], offset=1, limit=1, has_more=False) self.mock_submission_response = \ self._create_response(mock_polyswarm_api_results.instances(self)[0].json) self.mock_hunt_live_results_response_page1 = \ self._create_response([mock_polyswarm_api_results.live_results(self)[0].json], offset=1, limit=1, has_more=False) self.mock_hunt_historical_results_response_page1 = \ self._create_response([mock_polyswarm_api_results.historical_results(self)[0].json], offset=1, limit=1, has_more=False) self.mock_hunt_response = self._create_response( mock_polyswarm_api_results.hunts(self)[0].json) self.mock_hunt_response_page1 = self._create_response( [mock_polyswarm_api_results.hunts(self)[0].json], offset=1, limit=1, has_more=False) self.mock_stream_response_page1 = self._create_response([ mock_polyswarm_api_results.stream_results(self.test_s3_file_url)[0] ], offset=1, limit=1, has_more=False)
def test_scan_submission_rescan(self): url = 'https://api.polyswarm.network/v2/consumer/submission/lima/rescan/sha256/275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f' responses.add(responses.POST, url, body=self.mock_submission_response) url = 'https://api.polyswarm.network/v2/consumer/submission/lima/49091542211453596' responses.add(responses.GET, url, body=self.mock_submission_response) result = self._run_cli([ '--output-format', 'json', '-c', self.community, 'rescan', self.test_hash_value ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0, )
def test_scan_submission_create(self): url = 'https://api.polyswarm.network/v2/consumer/submission/lima/49091542211453596' responses.add(responses.GET, url, body=self.mock_submission_response) url = 'https://api.polyswarm.network/v2/consumer/submission/lima' responses.add(responses.POST, url, body=self.mock_submission_response) malicious_file = self._get_test_resource_file_path('malicious') result = self._run_cli([ '--output-format', 'json', '-c', self.community, 'scan', 'file', malicious_file ]) self._assert_json_result( result, expected_output=mock_polyswarm_api_results.instances(self)[0].json, expected_return_code=0, )