Skip to content

Commit 43bd532

Browse files
Create test_advanced.py
1 parent aa41dc2 commit 43bd532

File tree

2 files changed

+69
-59
lines changed

2 files changed

+69
-59
lines changed

tests/test_advanced.py

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
import pytest
2+
from unittest import mock
3+
from ReversingLabs.SDK.advanced import AdvancedActions
4+
5+
SHA1 = "5377d0ed664246a604363f90a2764aa10fa63ad0"
6+
HOST = "https://example.com"
7+
USERNAME = "username"
8+
PASSWORD = "password"
9+
10+
11+
@pytest.fixture
12+
def dynamic_analysis_mock():
13+
with mock.patch("ReversingLabs.SDK.ticloud.DynamicAnalysis.get_dynamic_analysis_results", autospec=True) as dynamic_mock:
14+
yield dynamic_mock
15+
16+
17+
@pytest.fixture
18+
def file_analysis_mock():
19+
with mock.patch("ReversingLabs.SDK.ticloud.FileAnalysis.get_analysis_results", autospec=True) as rldata_mock:
20+
yield rldata_mock
21+
22+
23+
class TestAdvancedActions:
24+
@classmethod
25+
def setup_class(cls):
26+
cls.adv_actions = AdvancedActions(HOST, USERNAME, PASSWORD)
27+
28+
def test_no_da_report(self, dynamic_analysis_mock, file_analysis_mock):
29+
dynamic_analysis_mock.return_value.json.return_value = {}
30+
31+
file_analysis_mock.return_value.json.return_value = {
32+
"rl": {
33+
"sample": {
34+
"sha1": SHA1
35+
}
36+
}
37+
}
38+
39+
result = self.adv_actions.enriched_file_analysis(sample_hash=SHA1)
40+
expected_result = {}
41+
42+
assert result == expected_result
43+
44+
def test_existing_da_field(self, dynamic_analysis_mock, file_analysis_mock):
45+
dynamic_analysis_mock.return_value.json.return_value = {
46+
"rl": {
47+
"report": {
48+
"da_key": "da_value"
49+
}
50+
}
51+
}
52+
53+
file_analysis_mock.return_value.json.return_value = {
54+
"rl": {
55+
"sample": {
56+
"sha1": SHA1,
57+
"dynamic_analysis": {
58+
"entries": [
59+
{"existing_field": "existing_value"}
60+
]
61+
}
62+
}
63+
}
64+
}
65+
66+
result = self.adv_actions.enriched_file_analysis(sample_hash=SHA1)
67+
assert "entries" in result.get("rl").get("sample").get("dynamic_analysis")
68+
assert "report" in result.get("rl").get("sample").get("dynamic_analysis")

tests/test_ticloud.py

+1-59
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
VerticalFeedsStatistics, VerticalFeedsSearch, CertificateAnalytics, CertificateThumbprintSearch, \
1111
NewMalwarePlatformFiltered, NewFilesFirstScan, NewFilesFirstAndRescan, FilesWithDetectionChanges, \
1212
MWPChangeEventsFeed, CvesExploitedInTheWild, NewExploitOrCveSamplesFoundInWildHourly, \
13-
NewExploitAndCveSamplesFoundInWildDaily, NewWhitelistedFiles, ChangesWhitelistedFiles, AdvancedActions, \
13+
NewExploitAndCveSamplesFoundInWildDaily, NewWhitelistedFiles, ChangesWhitelistedFiles, \
1414
CLASSIFICATIONS, AVAILABLE_PLATFORMS, RHA1_TYPE_MAP, \
1515
resolve_hash_type, calculate_hash, NotFoundError
1616
from ReversingLabs.SDK.helper import WrongInputError, BadGatewayError, DEFAULT_USER_AGENT
@@ -1481,61 +1481,3 @@ def test_wrong_input(self):
14811481
self.changes.feed_query(time_format="utc", time_value="12345678")
14821482

14831483

1484-
@pytest.fixture
1485-
def dynamic_analysis_mock():
1486-
with mock.patch("ReversingLabs.SDK.ticloud.DynamicAnalysis.get_dynamic_analysis_results", autospec=True) as dynamic_mock:
1487-
yield dynamic_mock
1488-
1489-
1490-
@pytest.fixture
1491-
def file_analysis_mock():
1492-
with mock.patch("ReversingLabs.SDK.ticloud.FileAnalysis.get_analysis_results", autospec=True) as rldata_mock:
1493-
yield rldata_mock
1494-
1495-
1496-
class TestAdvancedActions:
1497-
@classmethod
1498-
def setup_class(cls):
1499-
cls.adv_actions = AdvancedActions(HOST, USERNAME, PASSWORD)
1500-
1501-
def test_no_da_report(self, dynamic_analysis_mock, file_analysis_mock):
1502-
dynamic_analysis_mock.return_value.json.return_value = {}
1503-
1504-
file_analysis_mock.return_value.json.return_value = {
1505-
"rl": {
1506-
"sample": {
1507-
"sha1": SHA1
1508-
}
1509-
}
1510-
}
1511-
1512-
result = self.adv_actions.enriched_file_analysis(sample_hash=SHA1)
1513-
expected_result = {}
1514-
1515-
assert result == expected_result
1516-
1517-
def test_existing_da_field(self, dynamic_analysis_mock, file_analysis_mock):
1518-
dynamic_analysis_mock.return_value.json.return_value = {
1519-
"rl": {
1520-
"report": {
1521-
"da_key": "da_value"
1522-
}
1523-
}
1524-
}
1525-
1526-
file_analysis_mock.return_value.json.return_value = {
1527-
"rl": {
1528-
"sample": {
1529-
"sha1": SHA1,
1530-
"dynamic_analysis": {
1531-
"entries": [
1532-
{"existing_field": "existing_value"}
1533-
]
1534-
}
1535-
}
1536-
}
1537-
}
1538-
1539-
result = self.adv_actions.enriched_file_analysis(sample_hash=SHA1)
1540-
assert "entries" in result.get("rl").get("sample").get("dynamic_analysis")
1541-
assert "report" in result.get("rl").get("sample").get("dynamic_analysis")

0 commit comments

Comments
 (0)