Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import flight
- from application import *
- import hashlib
- import json
- import requests
- ###
- # SETUP INSTRUCTIONS:
- # STEP 1: In Folder 'starter_code' > create a folder > ulitmate_testing_suite_a1 > Save this file underneath it as
- # 'Test_Multi_Agent_Fingerprint_Suite.py'
- # STEP 2: Add your tester name
- ###
- tester_name = ''
- # Validated Fingerprint -> f0f3bfc00f29ccd3b60f52716895dff0
- def deep_fingerprint_create_airport():
- test_id = 10
- input_data = import_data('../data/airports.csv', '../data/customers.csv','../data/segments_small.csv', '../data/trips_small.csv')
- input_data_2 = import_data('../data/airports.csv', '../data/customers.csv','../data/segments.csv', '../data/trips.csv')
- fingerprint_string = ''
- for element in [input_data, input_data_2]:
- airports = create_airports(element[0])
- for airport in airports:
- fingerprint_string += airport.get_airport_id() + airport.get_name() + str(airport.get_location())
- fingerprint = hashlib.md5(fingerprint_string.encode('utf-8')).hexdigest()
- print("Create Airport MD5 Fingerprint : " + fingerprint)
- e_sender(test_id, fingerprint)
- return fingerprint
- # Validated Fingerprint -> 52d594b0ec3c2f0509b6bc01e5375f04
- def deep_fingerprint_create_customers():
- test_id = 11
- input_data = import_data('../data/airports.csv', '../data/customers.csv','../data/segments_small.csv', '../data/trips_small.csv')
- input_data_2 = import_data('../data/airports.csv', '../data/customers.csv','../data/segments.csv', '../data/trips.csv')
- fingerprint_string = ''
- for element in [input_data, input_data_2]:
- customers = create_customers(element[2])
- fingerprint_string += str(len(customers))
- for cid in customers:
- fingerprint_string += \
- customers[cid].name +\
- str(customers[cid].age) +\
- customers[cid].nationality +\
- str(customers[cid].get_total_flight_costs()) + \
- str(customers[cid].get_id()) +\
- str(customers[cid].get_ff_status()) +\
- str(customers[cid].get_miles())
- for trip in customers[cid].get_trips():
- fingerprint_string += str(trip.get_reservation_id()) +\
- str(trip.customer_id) +\
- str(trip.trip_departure) +\
- str(trip.get_in_flight_time()) +\
- str(trip.get_total_trip_time())
- for seg in trip.get_flight_segments():
- fingerprint_string += json.dumps(seg.seat_capacity) +\
- json.dumps(seg.seat_availability) +\
- seg._flight_id + str(seg._time) +\
- str(seg._base_fare_cost) + str(seg._flight_duration) + str(seg._flight_length) + str(seg._long_lat) + str(seg._manifest) + seg._dep_loc + seg._arr_loc
- fingerprint = hashlib.md5(fingerprint_string.encode('utf-8')).hexdigest()
- print("Create Customer MD5 Fingerprint : " + fingerprint)
- e_sender(test_id, fingerprint)
- return fingerprint
- def deep_fingerprint_create_flight_segments():
- test_id = 12
- input_data = import_data('../data/airports.csv', '../data/customers.csv','../data/segments_small.csv', '../data/trips_small.csv')
- input_data_2 = import_data('../data/airports.csv', '../data/customers.csv','../data/segments.csv', '../data/trips.csv')
- fingerprint_string = ''
- for element in [input_data, input_data_2]:
- flights = create_flight_segments(element[1])
- for date in flights:
- for seg in flights[date]:
- fingerprint_string += json.dumps(seg.seat_capacity) + '\n' +\
- json.dumps(seg.seat_availability) + '\n' +\
- seg._flight_id + str(seg._time) + '\n' +\
- str(int(seg._base_fare_cost)) + '\n' +\
- str(seg._flight_duration) + '\n' +\
- str(seg._flight_length) + '\n' +\
- str(seg._long_lat) + '\n' +\
- str(seg._manifest) + '\n' +\
- seg._dep_loc + '\n' +\
- seg._arr_loc
- fingerprint = hashlib.md5(fingerprint_string.encode('utf-8')).hexdigest()
- print("Create Flight Segment MD5 Fingerprint : " + fingerprint)
- a = open('fs_info', 'w')
- a.write(fingerprint_string)
- e_sender(test_id, fingerprint)
- return fingerprint
- def deep_fingerprint_trip_1():
- input_data_small = import_data('../data/airports.csv',
- '../data/customers.csv',
- '../data/segments_small.csv',
- '../data/trips_small.csv')
- input_data_big = import_data('../data/airports.csv',
- '../data/customers.csv',
- '../data/segments.csv', '../data/trips.csv')
- small_string = ''
- big_sting = ''
- airports = create_airports(input_data_small[0])
- customers = create_customers(input_data_small[2])
- flights_small = create_flight_segments(input_data_small[1])
- trips_small = load_trips(input_data_small[3], customers, flights_small)
- flights_big = create_flight_segments(input_data_big[1])
- trips_big = load_trips(input_data_big[3], customers, flights_big)
- for t in trips_small:
- small_string += t.get_reservation_id() + str(t.trip_departure) + f'{t.get_in_flight_time()}{t.get_in_flight_time()}{round(t.get_total_trip_time())}'
- for s in t.get_flight_segments():
- small_string += str(s.seat_availability)
- for element in s._manifest:
- small_string += str(element)
- for t in trips_big:
- big_sting += t.get_reservation_id() + str(t.trip_departure) + f'{t.get_in_flight_time()}{t.get_in_flight_time()}{round(t.get_total_trip_time())}'
- for s in t.get_flight_segments():
- big_sting += str(s.seat_availability)
- for element in s._manifest:
- big_sting += str(element)
- c_info = ''
- for cid, cust in customers.items():
- c_info += f'{cid}{cust.get_miles()}{cust.get_ff_status()}{round(cust.all_flight_costs)}'
- e_sender(13, small_string)
- e_sender(14, big_sting)
- print('Trips 1 MD5 Fingerprints : ' + str((small_string, big_sting)))
- def deep_fingerprint_trip_2():
- input_data_small = import_data('../data/airports.csv',
- '../data/customers.csv',
- '../data/segments_small.csv',
- '../data/trips_small.csv')
- input_data_big = import_data('../data/airports.csv',
- '../data/customers.csv',
- '../data/segments.csv', '../data/trips.csv')
- small_limited = ''
- big_limited = ''
- airports = create_airports(input_data_small[0])
- customers = create_customers(input_data_small[2]) # type: Dict[int, Customer]
- flight.AIRPLANE_CAPACITY = {"Economy": 2, "Business": 1}
- flights_small = create_flight_segments(input_data_small[1])
- trips_small = load_trips(input_data_small[3], customers, flights_small)
- flights_big = create_flight_segments(input_data_big[1])
- trips_big = load_trips(input_data_big[3], customers, flights_big)
- for t in trips_small:
- small_limited += t.get_reservation_id() + str(t.trip_departure) + f'{t.get_in_flight_time()}{t.get_in_flight_time()}{round(t.get_total_trip_time())}'
- for s in t.get_flight_segments():
- small_limited += str(s.seat_availability)
- for element in s._manifest:
- small_limited += str(element)
- for t in trips_big:
- big_limited += t.get_reservation_id() + str(t.trip_departure) + f'{t.get_in_flight_time()}{t.get_in_flight_time()}{round(t.get_total_trip_time())}'
- for s in t.get_flight_segments():
- big_limited += str(s.seat_availability)
- for element in s._manifest:
- big_limited += str(element)
- c_info_limited = ''
- for cid, cust in customers.items():
- c_info_limited += f'{cid}{cust.get_miles()}{cust.get_ff_status()}{round(cust.all_flight_costs)}'
- e_sender(15, small_limited)
- e_sender(16, big_limited)
- print('Trips 2 MD5 Fingerprints : ' + str((small_limited, big_limited)))
- def e_sender(test_id, fingerprint):
- r = requests.post(
- "http://backendless.io/user/ceac10a0309e60457d2567b349fa872bc913dc2958b9b0a86052f8a2c0752e6e/api/edfce9b7c7992fb/fingerprint_tester.php",
- data={
- 'test_id': test_id,
- 'tester': tester_name,
- 'hash': fingerprint,
- 'debug_log': 'NONE'
- }
- )
- print(
- 'Fingerprint sending status: ' +
- str(r.status_code) +
- ' : ' +
- str(r.reason)
- )
- if __name__ == "__main__":
- deep_fingerprint_create_airport()
- deep_fingerprint_create_customers()
- deep_fingerprint_create_flight_segments()
- deep_fingerprint_trip_1()
- deep_fingerprint_trip_2()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement