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
Beispiel #3
0
 def test_scan_history_by_date(self):
     """This test requires scan results in your account, produced in the
     last week.  If no such records exist, this test will fail.
     """
     scan = self.build_scan_object()
     until = utility.time_string_now()
     since = datetime.datetime.utcnow() - datetime.timedelta(weeks=1)
     scan_list = scan.scan_history(max_pages=2, since=since, until=until)
     assert "id" in scan_list[0]
Beispiel #4
0
 def test_fim_policy_create_delete(self):
     request = self.build_fim_policy_object()
     with open(policy_file, 'r') as policy_file_object:
         policy_body = policy_file_object.read()
     pol_meta = utility.determine_policy_metadata(policy_body)
     self.remove_policy_by_name(pol_meta["policy_name"])
     policy_id = request.create(policy_body)
     request.delete(policy_id)
     with pytest.raises(cloudpassage.CloudPassageResourceExistence) as e:
         request.describe(policy_id)
     assert policy_id in str(e)
 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
 def test_lids_policy_create_delete(self):
     deleted = False
     request = self.build_lids_policy_object()
     with open(policy_file, 'rb') as policy_file_object:
         policy_body = policy_file_object.read()
     pol_meta = utility.determine_policy_metadata(policy_body)
     self.remove_policy_by_name(pol_meta["policy_name"])
     policy_id = request.create(policy_body)
     request.delete(policy_id)
     try:
         request.describe(policy_id)
     except cloudpassage.CloudPassageResourceExistence:
         deleted = True
     assert deleted
 def test_configuration_policy_create_delete(self):
     """This test attempts to create and delete a configuration
     policy.
     """
     request = self.build_config_policy_object()
     # newname = "Functional Test Name Change"
     with open(policy_file, 'r') as policy_file_object:
         policy_body = policy_file_object.read()
     pol_meta = utility.determine_policy_metadata(policy_body)
     self.remove_policy_by_name(pol_meta["policy_name"])
     pol_dict = json.loads(policy_body)
     pol_dict["policy"]["name"] = "testpol 1"
     policy_id = request.create(json.dumps(pol_dict))
     request.delete(policy_id)
     with pytest.raises(cloudpassage.CloudPassageResourceExistence) as e:
         request.describe(policy_id)
     assert policy_id in str(e)
Beispiel #8
0
from cloudpassage.exceptions import CloudPassageValidation  # noqa: F401
from cloudpassage.exceptions import CloudPassageRateLimit  # noqa: F401
from cloudpassage.firewall_policy import FirewallInterface  # noqa: F401
from cloudpassage.firewall_policy import FirewallPolicy  # noqa: F401
from cloudpassage.firewall_policy import FirewallRule  # noqa: F401
from cloudpassage.firewall_policy import FirewallService  # noqa: F401
from cloudpassage.firewall_policy import FirewallZone  # noqa: F401
from cloudpassage.halo import HaloSession  # noqa: F401
from cloudpassage.http_helper import HttpHelper  # noqa: F401
from cloudpassage.issue import Issue  # noqa: F401
from cloudpassage.lids_policy import LidsPolicy  # noqa: F401
from cloudpassage.local_user_account import LocalUserAccount  # noqa: F401
from cloudpassage.local_user_group import LocalUserGroup  # noqa: F401
from cloudpassage.scan import Scan  # noqa: F401
from cloudpassage.server import Server  # noqa: F401
from cloudpassage.server_group import ServerGroup  # noqa: F401
from cloudpassage.special_events_policy import SpecialEventsPolicy  # NOQA
from cloudpassage.system_announcement import SystemAnnouncement  # noqa: F401
from cloudpassage.time_series import TimeSeries  # noqa: F401
from cloudpassage.utility import Utility as init_util

minimum = {"2": "2.7.10", "3": "3.6.5"}
installed = init_util.get_installed_python_version()
if init_util.verify_python_version(installed, minimum) is False:
    err_msg = "Warning: Minimum supported Python version %s" % minimum
    print(err_msg)

__author__ = "CloudPassage"
__version__ = "1.2.3"
__license__ = "BSD"
Beispiel #9
0
 def test_one_day_ago_until_now(self):
     event = self.create_event_obj()
     until = utility.time_string_now()
     since = datetime.datetime.utcnow() - datetime.timedelta(days=1)
     event_list = event.list_all(10, since=since, until=until)
     assert "id" in event_list[0]