コード例 #1
0
  def test0(self):
    '''
    start with empty summaries_file, instantiate a measurement, check that summary got added to file
    '''
    print("--test0--")
    i = 0
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "ping")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)

    self._make_dir_if_nonexists("data")
    curr_path = os.path.dirname(os.path.realpath(__file__))
    data_path = os.path.join(curr_path, "data")
    os.chdir(data_path)
    file1 = measurement2._fetch_to_local(1446336000, 1446336100)
    file2 = measurement2._fetch_to_local(1446422400, 1446422500)
    list_of_entries = os.listdir(data_path)
    list_of_files = [f for f in list_of_entries if os.path.isfile(os.path.join(data_path, f))]
    self.assertEqual(len(list_of_files), 2)

    os.chdir(curr_path)
    ping_data = Ping_Data(measurement2.measurement_id, file1, self.fname)
    self.assertTrue(ping_data.local_hit)

    list_of_headings = Ping_Data.get_ping_headings()
    csv_file = "test.csv"
    gold_file = "gold.csv"
    ping_data.prep_csv_file(csv_file, list_of_headings)
    ping_data.write_data_to_csv(csv_file, probe_id = 10008)

    with open(csv_file) as csv_file_obj:
      with open(gold_file) as gold_file_obj:
        self.assertMultiLineEqual(csv_file_obj.read(), gold_file_obj.read())

    i = 1
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "dns")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)

    i = 2
    summaries_dict = self.measurements[i]._get_dict_from_nonempty_file(self.fname)
    
    self.assertEqual(summaries_dict[str(self.measurement_ids[i])]["msm_id"], self.measurement_ids[i])
    self.assertEqual(self.measurements[i].local_hit, self.USE_LOCAL_SUMMARIES)
    self.assertEqual(self.measurements[i].type, "traceroute")

    measurement2 = Measurement(self.measurement_ids[i], self.fname)
    self.assertTrue(measurement2.local_hit)
コード例 #2
0
  def test_summaries(self):
    print("--test_summaries--")
    os.chdir(os.path.dirname(os.path.realpath(__file__)))
    summaries_file = "test_summaries_file.txt"
    measurement = Measurement(1001, summaries_file)
    summary, local_hit = measurement._get_summary(summaries_file)

    self.assertEqual(summary, measurement.summary)
    self.assertTrue(local_hit)

    local_dict = measurement._get_dict_from_nonempty_file(summaries_file)
    local_summary = local_dict["1001"]

    self.assertEqual(local_summary, measurement.summary)
コード例 #3
0
    return parser.parse_args()


# Call the script by typing:
#	$ python download_time_window.py start_time end_time [measurement_id1, measurement_id2, ...]
# where arguments 2 and onward is a ripe atlas measurement id
if __name__ == "__main__":
    # get args
    args = parse_args()
    start_time = int(args.start_time)
    end_time = int(args.end_time)
    measurements = args.measurements
    summaries_file = args.summaries

    measurement_id_list = map(int, open(measurements, 'r').read().splitlines())

    if (end_time - start_time) > 60 * 60 * 24:
        # if time window is longer than 1 day
        # for each day in the time window
        for t1, t2 in My_RIPE.days(start_time, end_time):
            # loop through measurement ids
            for measurement_id in measurement_id_list:
                measurement = Measurement(measurement_id, summaries_file)
                measurement.fetch_range_to_hdfs(t1, t2)
    else:
        # if time windows is less than 1 day
        # loop through measurement ids
        for measurement_id in measurement_id_list:
            measurement = Measurement(measurement_id, summaries_file)
            measurement.fetch_range_to_hdfs(start_time, end_time)
コード例 #4
0
 def _add_measurements(self):
   for this_id in self.measurement_ids:
     self.measurements.append(Measurement(this_id, self.fname))