예제 #1
0
 def test_update_table(self):
     conn, cur = start_db(os.environ['DATABASE_NAME'])
     old_entry = {"logic": 123,
                 "serial": 'abc',
                 "model": 'MODEL',
                 "sam": 1,
                 "ptid": 'PTIDABCD',
                 "plat": 2,
                 "version": 'v2',
                 "mxr": 3,
                 "mxf": 4,
                 "VERFM": 'first information'
                 }
     json_dict = json.dumps(old_entry)
     insert_query = create_insert_query(json_dict)
     cur.execute(insert_query)
     conn.commit()
     new_entry = {"logic": 123,
                 "serial": 'abc',
                 "model": 'MODEL',
                 "sam": 1,
                 "ptid": 'PTIDABCD',
                 "plat": 2,
                 "version": 'v2',
                 "mxr": 3,
                 "mxf": 4,
                 "VERFM": 'new information'
                 }
     update_table(conn, 'v2', 123, new_entry)
     remove_duplicates(conn)
     table_rows = select_and_return(conn, 'v2', 123)
     expected = [('123', 'abc', 'MODEL', 1, 'PTIDABCD', 2, 'v2', 3, 4, 'new information')]
     self.assertEqual(table_rows, expected)
예제 #2
0
 def test_insert_duplicate_and_remove_duplicates(self):
     # insert data twice in database
     conn, cur = start_db(os.environ['DATABASE_NAME'])
     dict = {"logic": 123,
             "serial": 'abc',
             "model": 'MODEL',
             "sam": 1,
             "ptid": 'PTIDABCD',
             "plat": 2,
             "version": 'v1',
             "mxr": 3,
             "mxf": 4,
             "VERFM": 'last information'
             }
     json_dict = json.dumps(dict)
     insert_query = create_insert_query(json_dict)
     cur.execute(insert_query)
     conn.commit()
     # remove duplicates
     remove_duplicates(conn) # to remove duplicate from test before
     table_rows = select_and_return(conn, 'v1', 123)
     expected = [('123', 'abc', 'MODEL', 1, 'PTIDABCD', 2, 'v1', 3, 4, 'last information')]
     self.assertEqual(table_rows, expected)
예제 #3
0
				task = run_command.delay(ans_command, password, items)
				return response_build(202,{'taskid':items})
			else: #handles datacheck error
				logging.info('[X] Data submitted does not match corresponding blueprint in db')
				return response_build(400,{'error':'Data submitted does not match corresponding blueprint in db'})
		else:
			logging.info('[X] No playbook by that name in the database')
			return response_build(400,{'error':'No playbook by that name in the database'})
	except KeyError: #missing name or auth field
		logging.info('[X] No name or auth contained in request')
		return response_build(400,{'error':' No name or auth contained in request'})
	except IndexError: #empty dict in request
		logging.info('[X] Empty dict in params section of request')
		return response_build(400,{'error':'empty dict in params section of request'})

@route('/tasks/:taskid', method='GET')
def return_id(taskid):
	output = db.db_completed(taskid)
	logging.debug(output)
	if output == None:
		logging.debug('[X] Processing')
		return response_build(202,{'info':'processing has not finished'})
	else:
		return response_build(200,{'output':output})



atexit.register(purge_db)
if __name__ == '__main__':
	db.start_db(schemaloc)
	run(host=host, port=port,server=server, workers=1)#might move to config file
예제 #4
0
 def setUp(self):
     self.app = app.test_client()  # app'mock
     start_db(os.environ['DATABASE_NAME'])
예제 #5
0

@app.route('/<version>/<entity>/<int:logic>', methods=['GET'])
def main_method_get(version, entity, logic):
    database = entity
    conn, c = create_connection(database)
    remove_duplicates(conn)

    with conn:
            table_rows = select_and_return(conn, version, logic)
            return format_list_of_lists_to_json(table_rows)


@app.route('/<version>/<entity>/<int:logic>', methods=['PUT'])
def main_method_put(version, entity, logic):
    database = entity
    conn, c = create_connection(database)
    with conn:
        # have to verify if it is Json to do this
        body_json = retrieve_body_data()
        body_dict = json.loads(body_json[0])

        update_table(conn, version, logic, body_dict)
        return "Request OK"


if __name__ == '__main__':
    start_db(database_name)
    # run app in debug mode on port 8000 with gunicorn
    app.run()