

def test_add_false_positive(self):
    response = {
        'scenario_id': '1',
        'req_headers': 'headers',
        'req_body': 'body',
        'url': 'url',
        'timestamp': datetime.datetime.utcnow(),
        'req_method': 'method',
        'server_protocol_error': None,
        'server_timeout': False,
        'server_error_text_detected': False,
        'server_error_text_matched': 'matched_text',
        'resp_statuscode': 'statuscode',
        'resp_headers': 'resp_headers',
        'resp_body': 'resp_body',
        'resp_history': 'resp_history',
    }
    dbtools.add_false_positive(self.context, response)
    db_engine = sqlalchemy.create_engine(self.context.dburl)
    dbconn = db_engine.connect()
    db_metadata = sqlalchemy.MetaData()
    httpfuzzer_issues = Table('httpfuzzer_issues', value, Column('new_issue', types.Boolean), Column('issue_no', types.Integer, primary_key=True, nullable=False), Column('timestamp', types.DateTime(timezone=True)), Column('test_runner_host', types.Text), Column('scenario_id', types.Text), Column('url', types.Text), Column('server_protocol_error', types.Text), Column('server_timeout', types.Boolean), Column('server_error_text_detected', types.Boolean), Column('server_error_text_matched', types.Text), Column('req_method', types.Text), Column('req_headers', types.LargeBinary), Column('req_body', types.LargeBinary), Column('resp_statuscode', types.Text), Column('resp_headers', types.LargeBinary), Column('resp_body', types.LargeBinary), Column('resp_history', types.LargeBinary))
    db_select = sqlalchemy.sql.select([httpfuzzer_issues])
    db_result = dbconn.execute(db_select)
    result = db_result.fetchone()
    for (key, value) in response.iteritems():
        self.assertEqual(result[key], value, ('%s not found in database after add' % key))
    self.assertEqual(result['test_runner_host'], socket.gethostbyname(socket.getfqdn()), 'Test runner host name not correct in database')
    self.assertLessEqual(result['timestamp'], datetime.datetime.utcnow(), 'Timestamp not correctly stored in database')
    dbconn.close()

dataset/ETHPy150Open F-Secure/mittn/mittn/httpfuzzer/test_dbtools.py dbtools_test_case.test_add_false_positive/VarMisuse@138/257 `db_metadata`->`value`