コード例 #1
0
 def put(payload):
     """Update CVEDB version."""
     json_payload = {
         'gremlin': cvedb_version_replace_script_template,
         'bindings': {
             'cvedb_version': payload.get('version')
         }
     }
     call_gremlin(json_payload)
     return payload.get('version')
コード例 #2
0
 def get():
     """Get CVEDB version."""
     json_payload = {
         'gremlin': cvedb_version_get_script_template,
     }
     response = call_gremlin(json_payload)
     data = response.get('result', {}).get('data', [])
     return data[0] if data else None
コード例 #3
0
 def process(self):
     """Add or replace CVE node in graph."""
     self.create_pv_nodes()
     json_payload = self.prepare_payload()
     call_gremlin(json_payload)
コード例 #4
0
 def get_cves(self, script, bindings):
     """Call Gremlin and get the CVE information."""
     json_payload = self.prepare_payload(script, bindings)
     response = call_gremlin(json_payload)
     cve_list = response.get('result', {}).get('data', [])
     return {'count': len(cve_list), 'cve_ids': cve_list}
コード例 #5
0
 def process(self):
     """Delete CVE node from graph."""
     json_payload = self.prepare_payload()
     call_gremlin(json_payload)
コード例 #6
0
def test_bad_gremlin_call(mocker):
    """Test utils.call_gremlin()."""
    mocker.return_value = RequestsMockResponse({}, 500)
    with pytest.raises(ValueError):
        call_gremlin({'dummy': 'payload'})
コード例 #7
0
def test_gremlin_call(mocker):
    """Test utils.call_gremlin()."""
    mocker.return_value = RequestsMockResponse({}, 200)
    assert call_gremlin({'dummy': 'payload'}) == {}
コード例 #8
0
 def get_cves(self, script, bindings):
     """Call Gremlin and get the CVE information."""
     json_payload = self.prepare_payload(script, bindings)
     response = call_gremlin(json_payload)
     cve_list = prepare_response(response)
     return cve_list