示例#1
0
    def test_backup_set_filename_exclusions_returns_expected_list_results(
        self,
        org_device_defaults_with_empty_values,
        org_device_defaults_with_single_values,
        org_device_defaults_with_multiple_values,
    ):
        # empty exclude list
        org_settings = OrgSettings(
            org_device_defaults_with_empty_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].filename_exclusions == []

        # single exclude
        org_settings = OrgSettings(
            org_device_defaults_with_single_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].filename_exclusions == [
            PHOTOS_REGEX
        ]

        # multiple excludes
        org_settings = OrgSettings(
            org_device_defaults_with_multiple_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].filename_exclusions == [
            PHOTOS_REGEX,
            PICTURES_REGEX,
        ]
示例#2
0
    def test_backup_set_included_files_returns_expected_values(
        self,
        org_device_defaults_with_empty_values,
        org_device_defaults_with_single_values,
        org_device_defaults_with_multiple_values,
    ):
        # empty pathset
        org_settings = OrgSettings(
            org_device_defaults_with_empty_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].included_files == []

        # single path pathset
        org_settings = OrgSettings(
            org_device_defaults_with_single_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].included_files == [
            TEST_HOME_DIR
        ]

        # multiple path pathset
        org_settings = OrgSettings(
            org_device_defaults_with_multiple_values, TEST_T_SETTINGS_DICT
        )
        assert org_settings.device_defaults.backup_sets[0].included_files == [
            TEST_HOME_DIR,
            TEST_EXTERNAL_DOCUMENTS_DIR,
        ]
示例#3
0
    def test_backup_set_filename_exclusions_append_produces_expected_values(
        self,
        org_device_defaults_with_empty_values,
        org_device_defaults_with_single_values,
        org_device_defaults_with_multiple_values,
    ):
        # empty starting filename exclusions
        org_settings = OrgSettings(
            org_device_defaults_with_empty_values, TEST_T_SETTINGS_DICT
        )
        org_settings.device_defaults.backup_sets[0].pop("@locked")
        org_settings.device_defaults.backup_sets[0].filename_exclusions.append(
            PHOTOS_REGEX
        )
        assert org_settings["deviceDefaults"]["serviceBackupConfig"]["backupConfig"][
            "backupSets"
        ]["backupSet"][0]["backupPaths"]["excludeUser"]["patternList"]["pattern"] == [
            {"@regex": PHOTOS_REGEX}
        ]
        assert "filename_exclusions" in org_settings.changes
        assert PHOTOS_REGEX in org_settings.changes["filename_exclusions"]

        # single starting filename exclusion
        org_settings = OrgSettings(
            org_device_defaults_with_single_values, TEST_T_SETTINGS_DICT
        )
        org_settings.device_defaults.backup_sets[0].pop("@locked")
        org_settings.device_defaults.backup_sets[0].filename_exclusions.append(
            PICTURES_REGEX
        )
        assert org_settings["deviceDefaults"]["serviceBackupConfig"]["backupConfig"][
            "backupSets"
        ]["backupSet"][0]["backupPaths"]["excludeUser"]["patternList"]["pattern"] == [
            {"@regex": PHOTOS_REGEX},
            {"@regex": PICTURES_REGEX},
        ]
        assert "filename_exclusions" in org_settings.changes
        assert PHOTOS_REGEX in org_settings.changes["filename_exclusions"]
        assert PICTURES_REGEX in org_settings.changes["filename_exclusions"]

        # multiple starting filename exclusions
        NEW_REGEX = ".*/Logs/"
        org_settings = OrgSettings(
            org_device_defaults_with_multiple_values, TEST_T_SETTINGS_DICT
        )
        org_settings.device_defaults.backup_sets[0].pop("@locked")
        org_settings.device_defaults.backup_sets[0].filename_exclusions.append(
            NEW_REGEX
        )
        assert org_settings["deviceDefaults"]["serviceBackupConfig"]["backupConfig"][
            "backupSets"
        ]["backupSet"][0]["backupPaths"]["excludeUser"]["patternList"]["pattern"] == [
            {"@regex": PHOTOS_REGEX},
            {"@regex": PICTURES_REGEX},
            {"@regex": NEW_REGEX},
        ]
        assert "filename_exclusions" in org_settings.changes
        assert PHOTOS_REGEX in org_settings.changes["filename_exclusions"]
        assert PICTURES_REGEX in org_settings.changes["filename_exclusions"]
        assert NEW_REGEX in org_settings.changes["filename_exclusions"]
示例#4
0
    def test_org_settings_endpoint_monitoring_enabled_returns_expected_results(
            self, org_settings_dict):
        t_setting = deepcopy(TEST_T_SETTINGS_DICT)
        t_setting["org-securityTools-enable"]["value"] = "true"
        org_settings = OrgSettings(org_settings_dict, t_setting)
        assert org_settings.endpoint_monitoring_enabled is True

        t_setting["org-securityTools-enable"]["value"] = "false"
        org_settings = OrgSettings(org_settings_dict, t_setting)
        assert org_settings.endpoint_monitoring_enabled is False
示例#5
0
 def test_inherited_org_quota_settings_setattr_removes_inheritance(
     self, param, org_settings_inherited_dict
 ):
     org_settings = OrgSettings(org_settings_inherited_dict, TEST_T_SETTINGS_DICT)
     attr, val = param
     setattr(org_settings, attr, val)
     assert not org_settings.quota_settings_inherited
示例#6
0
    def test_backup_set_included_files_append_produces_expected_pathset_value_and_registers_change(
        self, org_device_defaults_with_multiple_values
    ):
        org_settings = OrgSettings(
            org_device_defaults_with_multiple_values, TEST_T_SETTINGS_DICT
        )
        org_settings.device_defaults.backup_sets[0].pop("@locked")
        expected_path_list = [
            {"@include": TEST_HOME_DIR, "@und": "false"},
            {"@include": TEST_EXTERNAL_DOCUMENTS_DIR, "@und": "false"},
            {"@include": TEST_ADDED_PATH, "@und": "false"},
            {"@exclude": TEST_PHOTOS_DIR, "@und": "false"},
        ]

        org_settings.device_defaults.backup_sets[0].included_files.append(
            TEST_ADDED_PATH
        )
        actual_path_list = org_settings.device_defaults["settings"][
            "serviceBackupConfig"
        ]["backupConfig"]["backupSets"]["backupSet"][0]["backupPaths"]["pathset"][
            "paths"
        ][
            "path"
        ]
        assert actual_path_list == expected_path_list
        assert "included_files" in org_settings.device_defaults.changes
        assert (
            "-> {}".format(
                [TEST_HOME_DIR, TEST_EXTERNAL_DOCUMENTS_DIR, TEST_ADDED_PATH]
            )
            in org_settings.device_defaults.changes["included_files"]
        )
示例#7
0
 def test_backup_set_excluded_files_remove_produces_expected_pathset_value(
     self, org_device_defaults_with_multiple_values
 ):
     org_settings = OrgSettings(
         org_device_defaults_with_multiple_values, TEST_T_SETTINGS_DICT
     )
     org_settings.device_defaults.backup_sets[0].pop("@locked")
     expected_path_list = [
         {"@include": TEST_HOME_DIR, "@und": "false"},
     ]
     org_settings.device_defaults.backup_sets[0].excluded_files.remove(
         TEST_PHOTOS_DIR
     )
     actual_path_list = org_settings.device_defaults["settings"][
         "serviceBackupConfig"
     ]["backupConfig"]["backupSets"]["backupSet"][0]["backupPaths"]["pathset"][
         "paths"
     ][
         "path"
     ]
     for path in expected_path_list:
         assert path in actual_path_list
     assert "excluded_files" in org_settings.device_defaults.changes
     assert (
         "-> {}".format([]) in org_settings.device_defaults.changes["excluded_files"]
     )
示例#8
0
    def test_backup_set_excluded_files_returns_expected_values(
        self,
        org_device_defaults_with_empty_values,
        org_device_defaults_with_multiple_values,
    ):
        # empty file selection
        org_settings = OrgSettings(org_device_defaults_with_empty_values,
                                   TEST_T_SETTINGS_DICT)
        assert org_settings.device_defaults.backup_sets[0].excluded_files == []

        # multiple path pathset
        org_settings = OrgSettings(org_device_defaults_with_multiple_values,
                                   TEST_T_SETTINGS_DICT)
        assert org_settings.device_defaults.backup_sets[0].excluded_files == [
            TEST_PHOTOS_DIR
        ]
示例#9
0
 def test_backup_set_add_destination_when_destination_available(
         self, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     org_settings.device_defaults.backup_sets[1].add_destination(
         632540230984925185)
     expected_destinations_property = {
         "43": "PROe Cloud, US <LOCKED>",
         "673679195225718785": "PROe Cloud, AMS",
         "632540230984925185": "PROe Cloud, US - West",
     }
     expected_destinations_list = [
         {
             "@id": "43",
             "@locked": "true"
         },
         {
             "@id": "673679195225718785"
         },
         {
             "@id": "632540230984925185"
         },
     ]
     assert (org_settings.device_defaults.backup_sets[1].destinations ==
             expected_destinations_property)
     assert (org_settings.device_defaults.backup_sets[1]["destinations"] ==
             expected_destinations_list)
示例#10
0
 def test_org_settings_setting_mutable_property_updates_dict_correctly_and_registers_changes(
         self, param, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     setattr(org_settings, param.name, param.new_val)
     assert (get_val(org_settings.data,
                     param.dict_location) == param.expected_stored_val)
     assert param.name in org_settings.changes
示例#11
0
 def test_org_settings_set_endpoint_monitoring_enabled_to_false_from_true_creates_expected_packets(
         self, org_settings_dict):
     t_setting = deepcopy(TEST_T_SETTINGS_DICT)
     t_setting["org-securityTools-enable"]["value"] = "false"
     org_settings = OrgSettings(org_settings_dict, t_setting)
     org_settings.endpoint_monitoring_enabled = True
     assert {
         "key": "org-securityTools-enable",
         "value": "true",
         "locked": False,
     } in org_settings.packets
     assert {
         "key": "device_advancedExfiltrationDetection_enabled",
         "value": "true",
         "locked": False,
     } in org_settings.packets
     assert len(org_settings.packets) == 2
示例#12
0
 def test_backup_set_remove_destination_when_destination_not_available_raises(
         self, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     expected_destinations_property = {
         "43": "PROe Cloud, US <LOCKED>",
         "673679195225718785": "PROe Cloud, AMS",
     }
     with pytest.raises(Py42Error):
         org_settings.device_defaults.backup_sets[1].remove_destination(404)
     assert (org_settings.device_defaults.backup_sets[1].destinations ==
             expected_destinations_property)
示例#13
0
 def test_backup_set_destinations_property_returns_expected_value(
         self, org_settings_dict):
     backup_set_0_expected_destinations = {}
     backup_set_1_expected_destinations = {
         "43": "PROe Cloud, US <LOCKED>",
         "673679195225718785": "PROe Cloud, AMS",
     }
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     assert (org_settings.device_defaults.backup_sets[0].destinations ==
             backup_set_0_expected_destinations)
     assert (org_settings.device_defaults.backup_sets[1].destinations ==
             backup_set_1_expected_destinations)
示例#14
0
 def test_backup_set_remove_destination_when_destination_available(
         self, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     expected_destinations_property = {
         "673679195225718785": "PROe Cloud, AMS"
     }
     expected_destinations_dict = [{"@id": "673679195225718785"}]
     org_settings.device_defaults.backup_sets[1].remove_destination(43)
     assert (org_settings.device_defaults.backup_sets[1].destinations ==
             expected_destinations_property)
     assert (org_settings.device_defaults["settings"]["serviceBackupConfig"]
             ["backupConfig"]["backupSets"]["backupSet"][1]["destinations"]
             == expected_destinations_dict)
示例#15
0
 def test_missing_t_settings_return_none_when_accessed_by_property(
         self, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     assert org_settings.endpoint_monitoring_file_metadata_scan_enabled is None
     assert (
         org_settings.endpoint_monitoring_file_metadata_ingest_scan_enabled
         is None)
     assert org_settings.endpoint_monitoring_background_priority_enabled is None
     assert org_settings.endpoint_monitoring_custom_applications_win is None
     assert org_settings.endpoint_monitoring_custom_applications_mac is None
     assert (org_settings.
             endpoint_monitoring_file_metadata_collection_exclusions is
             None)
示例#16
0
 def test_org_settings_set_endpoint_monitoring_sub_categories_when_endpoint_monitoring_disabled_sets_endpoint_monitoring_enabled(
         self, param, org_settings_dict):
     attr, key = param
     t_setting = deepcopy(TEST_T_SETTINGS_DICT)
     settings = deepcopy(org_settings_dict)
     t_setting["org-securityTools-enable"]["value"] = "false"
     org_settings = OrgSettings(settings, t_setting)
     setattr(org_settings, attr, True)
     packet_keys = [packet["key"] for packet in org_settings.packets]
     assert key in packet_keys
     assert "org-securityTools-enable" in packet_keys
     for packet in org_settings.packets:
         if packet["key"] == "org-securityTools-enable":
             assert packet["value"] == "true"
         if packet["key"] == key:
             assert packet["value"] == "true"
示例#17
0
    def get_settings(self, org_id):
        """Gets setting data for an org and returns an `OrgSettingsManager` for the target org.

        Args:
            org_id (int,str): The identifier of the org.

        Returns:
            :class:`py42.clients._settings_managers.OrgSettings`: A class to help manage org settings.
                """
        org_settings = self.get_by_id(org_id,
                                      incSettings=True,
                                      incDeviceDefaults=True,
                                      incInheritedOrgInfo=True)
        uri = f"/api/OrgSetting/{org_id}"
        t_settings = self._connection.get(uri)
        return OrgSettings(org_settings.data, t_settings.data)
示例#18
0
    def test_org_settings_set_independent_t_setting_properties(
            self, param, org_settings_dict):
        t_setting = deepcopy(TEST_T_SETTINGS_DICT)
        settings = deepcopy(org_settings_dict)
        org_settings = OrgSettings(settings, t_setting)

        setattr(org_settings, param.name, param.new_val)
        packet_keys = [packet["key"] for packet in org_settings.packets]
        assert param.dict_location in packet_keys
        for packet in org_settings.packets:
            if packet["key"] == param.dict_location:
                assert packet["value"] == "true"

        setattr(org_settings, param.name, False)
        packet_keys = [packet["key"] for packet in org_settings.packets]
        assert param.dict_location in packet_keys
        for packet in org_settings.packets:
            if packet["key"] == param.dict_location:
                assert packet["value"] == "false"
示例#19
0
 def test_backup_set_unlock_destination(self, org_settings_dict):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     expected_destinations_property = {
         "43": "PROe Cloud, US",
         "673679195225718785": "PROe Cloud, AMS",
     }
     expected_destinations_dict = [
         {
             "@id": "43"
         },
         {
             "@id": "673679195225718785"
         },
     ]
     org_settings.device_defaults.backup_sets[1].unlock_destination(43)
     assert (org_settings.device_defaults.backup_sets[1].destinations ==
             expected_destinations_property)
     assert (org_settings.device_defaults["settings"]["serviceBackupConfig"]
             ["backupConfig"]["backupSets"]["backupSet"][1]["destinations"]
             == expected_destinations_dict)
示例#20
0
 def test_inherited_org_settings_properties_retrieve_expected_results(
     self, param, org_settings_inherited_dict
 ):
     org_settings = OrgSettings(org_settings_inherited_dict, TEST_T_SETTINGS_DICT)
     attr, expected = param
     assert getattr(org_settings, attr) == expected
示例#21
0
 def test_inherited_org_settings_inheritance_flags_return_true(
     self, org_settings_inherited_dict
 ):
     org_settings = OrgSettings(org_settings_inherited_dict, TEST_T_SETTINGS_DICT)
     assert org_settings.quota_settings_inherited
     assert org_settings.reporting_settings_inherited
示例#22
0
 def test_org_settings_device_defaults_retrieve_expected_results(
     self, param, org_settings_dict
 ):
     org_settings = OrgSettings(org_settings_dict, TEST_T_SETTINGS_DICT)
     attr, expected = param
     assert getattr(org_settings.device_defaults, attr) == expected