def test_ssl_lookup_delete_line(self): engine_config = SenderConfigSSL( address=(self.server, self.port), key=self.key, cert=self.cert, chain=self.chain, check_hostname=False, verify_mode=CERT_NONE, ) con = Sender(engine_config) lookup = Lookup(name=self.lookup_name, historic_tag=None, con=con) p_headers = Lookup.list_to_headers(["KEY", "HEX", "COLOR"], "KEY") lookup.send_control("START", p_headers, "INC") if len(con.socket.recv(1000)) == 0: raise Exception("Not msg sent!") lookup.send_data_line(key="11", fields=["11", "HEX12", "COLOR12"], delete=True) if len(con.socket.recv(1000)) == 0: raise Exception("Not msg sent!") lookup.send_control("END", p_headers, "INC") if len(con.socket.recv(1000)) == 0: raise Exception("Not msg sent!") con.socket.shutdown(0)
def test_ssl_lookup_override(self): engine_config = SenderConfigSSL(address=(self.server, self.port), key=self.key, cert=self.cert, chain=self.chain) con = Sender(engine_config) lookup = Lookup(name=self.lookup_name, historic_tag=None, con=con) p_headers = Lookup.list_to_headers(['KEY', 'HEX', 'COLOR'], 'KEY') lookup.send_control('START', p_headers, 'FULL') lookup.send_data_line(key="11", fields=["11", "HEX12", "COLOR12"]) lookup.send_control('END', p_headers, 'FULL') con.socket.shutdown(0)
def write_to_lookup_table_command(): lookup_table_name = demisto.args()['lookupTableName'] headers = check_type(demisto.args()['headers'], list) records = check_type(demisto.args()['records'], list) creds = get_writer_creds() engine_config = SenderConfigSSL(address=(WRITER_RELAY, 443), key=creds['key'].name, cert=creds['crt'].name, chain=creds['chain'].name) try: con = Sender(config=engine_config, timeout=60) lookup = Lookup(name=lookup_table_name, historic_tag=None, con=con) # Order sensitive list pHeaders = json.dumps(headers) lookup.send_control('START', pHeaders, 'INC') for r in records: lookup.send_data_line(key=r['key'], fields=r['values']) lookup.send_control('END', pHeaders, 'INC') finally: con.flush_buffer() con.socket.shutdown(0) entry = { 'Type': entryTypes['note'], 'Contents': { 'recordsWritten': records }, 'ContentsFormat': formats['json'], 'ReadableContentsFormat': formats['markdown'], 'EntryContext': { 'Devo.RecordsWritten': records } } md = tableToMarkdown('Entries to load into Devo', records) entry['HumanReadable'] = md return [entry]
def test_ssl_lookup_new_line(self): engine_config = SenderConfigSSL(address=(self.server, self.port), key=self.key, cert=self.cert, chain=self.chain) con = Sender(engine_config) lookup = Lookup(name=self.lookup_name, historic_tag=None, con=con) p_headers = Lookup.list_to_headers(['KEY', 'HEX', 'COLOR'], 'KEY') lookup.send_control('START', p_headers, 'INC') if len(con.socket.recv(1000)) == 0: raise Exception('Not msg sent!') lookup.send_data_line(key="11", fields=["11", "HEX12", "COLOR12"]) if len(con.socket.recv(1000)) == 0: raise Exception('Not msg sent!') lookup.send_control('END', p_headers, 'INC') if len(con.socket.recv(1000)) == 0: raise Exception('Not msg sent!') con.socket.shutdown(0)
import os from devo.sender import Sender, SenderConfigSSL, Lookup server = "us.elb.relay.logtrust.net" port = 443 key = os.getenv('DEVO_SENDER_KEY') cert = os.getenv('DEVO_SENDER_CERT') chain = os.getenv('DEVO_SENDER_CHAIN') lookup_name = 'Test_Lookup_Line_By_Line' engine_config = SenderConfigSSL(address=(server, port), key=key, cert=cert, chain=chain) con = Sender(engine_config) lookup = Lookup(name=lookup_name, historic_tag=None, con=con) p_headers = Lookup.list_to_headers(['KEY', 'HEX', 'COLOR'], 'KEY') lookup.send_control('START', p_headers, 'FULL') lookup.send_data_line(key="11", fields=["11", "HEX11", "COLOR11"]) lookup.send_data_line(key="22", fields=["22", "HEX22", "COLOR22"]) lookup.send_data_line(key="33", fields=["33", "HEX33", "COLOR33"]) lookup.send_control('END', p_headers, 'FULL') con.close()