Skip to content

Commit

Permalink
Added perPage parameter to targets.get_assets()
Browse files Browse the repository at this point in the history
  • Loading branch information
bamhm182 committed Apr 16, 2023
1 parent f6ab276 commit 9a5a2aa
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
4 changes: 3 additions & 1 deletion src/synack/plugins/targets.py
Expand Up @@ -103,7 +103,7 @@ def get_assessments(self):

def get_assets(self, target=None, asset_type=None, host_type=None, active='true',
scope=['in', 'discovered'], sort='location', sort_dir='asc',
page=None, organization_uid=None, **kwargs):
page=1, perPage=500, organization_uid=None, **kwargs):
"""Get the assets (scope) of a target"""
if target is None:
if len(kwargs) > 0:
Expand Down Expand Up @@ -137,6 +137,8 @@ def get_assets(self, target=None, asset_type=None, host_type=None, active='true'
queries.append(f'sortDir={sort_dir}')
if page is not None:
queries.append(f'page={page}')
if perPage is not None:
queries.append(f'perPage={perPage}')

res = self.api.request('GET', f'asset/v2/assets?{"&".join(queries)}')
if res.status_code == 200:
Expand Down
11 changes: 6 additions & 5 deletions test/test_targets.py
Expand Up @@ -228,7 +228,7 @@ def test_get_assets(self):
self.targets.api.request.assert_called_with('GET',
'asset/v2/assets?listingUid%5B%5D=327h8iw&scope%5B%5D=in' +
'&scope%5B%5D=discovered&sort%5B%5D=location&active=true' +
'&sortDir=asc')
'&sortDir=asc&page=1&perPage=500')

def test_get_assets_non_defaults(self):
"""Should return a list of assets given information to query"""
Expand All @@ -238,18 +238,19 @@ def test_get_assets_non_defaults(self):
self.targets.api.request.return_value.json.return_value = 'retjson'
self.assertEqual('retjson', self.targets.get_assets(codename='TURBULENTTORTOISE',
asset_type='blah',
host_type='applecidr',
host_type='cidr',
active='false',
scope='secret',
sort='vulnerable',
sort='loc',
sort_dir='desc',
page=3,
perPage=5000,
organization_uid='uiehqw'))
self.targets.api.request.assert_called_with('GET',
'asset/v2/assets?listingUid%5B%5D=327h8iw' +
'&organizationUid%5B%5D=uiehqw&assetType%5B%5D=blah' +
'&hostType%5B%5D=applecidr&scope%5B%5D=secret' +
'&sort%5B%5D=vulnerable&active=false&sortDir=desc&page=3')
'&hostType%5B%5D=cidr&scope%5B%5D=secret' +
'&sort%5B%5D=loc&active=false&sortDir=desc&page=3&perPage=5000')

def test_get_attachments_current(self):
"""Should return a list of attachments based on currently selected target"""
Expand Down

0 comments on commit 9a5a2aa

Please sign in to comment.