Exemple #1
0
output_path = './auction/output.json'

sites_and_bidders = get_valid_config_data(config_path)
sites_dict = create_sites_dict(sites_and_bidders['sites'])
bidders_dict = create_bidders_dict(sites_and_bidders['bidders'])

auctions = get_valid_input_data()

final_results = []

for auction in auctions:
  if is_valid_auction(auction, sites_dict):
    auction_site_info = sites_dict[auction['site']]
    auction_ad_units = auction['units']

    auction_bids_dict = initialize_auction_bids_dict(auction_ad_units)

    for bid in auction['bids']:
      if is_valid_bidder(bid['bidder'], auction_site_info['bidders'], bidders_dict):
        bidder_info = bidders_dict[bid['bidder']]
        bid['adjusted_bid_value'] = calculate_adjusted_bid_value(bid['bid'], bidder_info['adjustment'])

        if is_valid_bid(bid, auction_ad_units, auction_site_info):
          auction_bids_dict[bid['unit']].append(bid)

    final_results.append(get_auction_results(auction_bids_dict))
  else:
    final_results.append([])

display_results(output_path, final_results)
 def test_valid_bidder(self):
   self.assertEqual(is_valid_bidder(mock_valid_bidder, mock_permitted_bidders_list, mock_bidders_dict), True)
 def test_unknown_bidder(self):
   self.assertEqual(is_valid_bidder(mock_invalid_bidder, mock_permitted_bidders_list, mock_bidders_dict), False)
 def test_no_valid_bidders(self):
   self.assertEqual(is_valid_bidder(mock_valid_bidder, [], mock_bidders_dict), False)
 def test_no_bidder(self):
   self.assertEqual(is_valid_bidder("", mock_permitted_bidders_list, mock_bidders_dict), False)