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, ]
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, ]
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"]
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
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
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"] )
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"] )
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 ]
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)
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
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
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)
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)
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)
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)
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"
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)
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"
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)
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
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
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