def test_submit_handler_puid(conn): values = { 'format': 'json', 'client': 'app1key', 'user': '******', 'duration': str(TEST_1_LENGTH), 'fingerprint': TEST_1_FP, 'bitrate': 192, 'puid': 'b9c05616-1874-4d5d-b30e-6b959c922d28', 'fileformat': 'FLAC' } builder = EnvironBuilder(method='POST', data=values) handler = SubmitHandler.create_from_server(tests.script, conn=conn) resp = handler.handle(Request(builder.get_environ())) assert_equals('application/json; charset=UTF-8', resp.content_type) expected = { u'status': u'ok', u'submissions': [{ u'status': u'pending', u'id': 1 }] } assert_json_equals(expected, resp.data) assert_equals('200 OK', resp.status) query = tables.submission.select().order_by( tables.submission.c.id.desc()).limit(1) submission = conn.execute(query).fetchone() assert_equals(None, submission['mbid']) assert_equals('b9c05616-1874-4d5d-b30e-6b959c922d28', submission['puid']) assert_equals(1, submission['format_id']) assert_equals(192, submission['bitrate']) assert_equals(TEST_1_FP_RAW, submission['fingerprint']) assert_equals(TEST_1_LENGTH, submission['length'])
def test_submit_handler_with_meta(conn): values = { 'format': 'json', 'client': 'app1key', 'user': '******', 'duration': str(TEST_1_LENGTH), 'fingerprint': TEST_1_FP, 'bitrate': 192, 'mbid': 'b9c05616-1874-4d5d-b30e-6b959c922d28', 'fileformat': 'FLAC', 'track': 'Voodoo People', 'artist': 'The Prodigy', 'album': 'Music For The Jitled People', 'albumartist': 'Prodigy', 'trackno': '2', 'discno': '3', 'year': '2030' } builder = EnvironBuilder(method='POST', data=values) handler = SubmitHandler.create_from_server(tests.script, conn=conn) resp = handler.handle(Request(builder.get_environ())) assert_equals('application/json; charset=UTF-8', resp.content_type) expected = { u'status': u'ok', u'submissions': [{ u'status': u'pending', u'id': 1 }] } assert_json_equals(expected, resp.data) assert_equals('200 OK', resp.status) query = tables.submission.select().order_by( tables.submission.c.id.desc()).limit(1) submission = conn.execute(query).fetchone() assert_equals('b9c05616-1874-4d5d-b30e-6b959c922d28', submission['mbid']) assert_equals(3, submission['meta_id']) row = conn.execute("SELECT * FROM meta WHERE id=%s", submission['meta_id']).fetchone() expected = { 'id': submission['meta_id'], 'track': 'Voodoo People', 'artist': 'The Prodigy', 'album': 'Music For The Jitled People', 'album_artist': 'Prodigy', 'track_no': 2, 'disc_no': 3, 'year': 2030 } assert_equals(expected, dict(row))