def test_time_series_iter_issues_many_pages(self):
     """Test against issues endpoint."""
     session = self.get_halo_session()
     start_time = utility.datetime_to_8601((datetime.now() -
                                            timedelta(30)))
     start_url = "/v1/issues"
     item_key = "issues"
     streamer = cloudpassage.TimeSeries(session, start_time,
                                        start_url, item_key)
     dupes = []
     item_counter = 0
     item_ids = set([])
     for item in streamer:
         print("Item counter: %s Item ID: %s Item timestamp: %s" %
               (item_counter, item["id"], item["created_at"]))
         assert "id" in item
         if item["id"] in item_ids:
             print("Duplicate ^^^")
             dupes.append(item["id"])
         item_ids.add(item["id"])
         item_counter += 1
         if item_counter > 5:
             break
     if dupes:
         print("Dupes:")
         pprint.pprint(dupes)
         assert False
 def test_time_series_iter_events_many_pages_internal_killswitch(self):
     """Test triggering exit w/ StopIteration in TimeSeries().__iter__()"""
     session = self.get_halo_session()
     start_time = utility.datetime_to_8601((datetime.now() -
                                            timedelta(30)))
     start_url = "/v1/events"
     item_key = "events"
     streamer = cloudpassage.TimeSeries(session, start_time,
                                        start_url, item_key)
     dupes = []
     item_counter = 0
     item_ids = set([])
     for item in streamer:
         print("Item counter: %s Item ID: %s Item timestamp: %s" %
               (item_counter, item["id"], item["created_at"]))
         assert "id" in item
         if item["id"] in item_ids:
             print("Duplicate ^^^")
             dupes.append(item["id"])
         item_ids.add(item["id"])
         item_counter += 1
         if item_counter > 60:
             streamer.stop = True  # This triggers a StopIteration
     if dupes:
         print("Dupes:")
         pprint.pprint(dupes)
         assert False
 def test_time_series_iter_events_many_pages_fail(self):
     """Test against events endpoint."""
     session = self.get_halo_session()
     start_time = utility.datetime_to_8601((datetime.now() -
                                            timedelta(30)))
     start_url = "/v1/eventss"
     item_key = "events"
     with pytest.raises(cloudpassage.CloudPassageValidation):
         cloudpassage.TimeSeries(session, start_time,
                                 start_url, item_key)
         assert False  # Should bail and never hit this assertion.
     assert True