mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
Fix bug where revert all reverted all ldap categories
This commit is contained in:
@@ -21,6 +21,15 @@ import useModal from '../../../../util/useModal';
|
|||||||
import useRequest from '../../../../util/useRequest';
|
import useRequest from '../../../../util/useRequest';
|
||||||
import { SettingsAPI } from '../../../../api';
|
import { SettingsAPI } from '../../../../api';
|
||||||
|
|
||||||
|
function filterByPrefix(data, prefix) {
|
||||||
|
return Object.keys(data)
|
||||||
|
.filter(key => key.includes(prefix))
|
||||||
|
.reduce((obj, key) => {
|
||||||
|
obj[key] = data[key];
|
||||||
|
return obj;
|
||||||
|
}, {});
|
||||||
|
}
|
||||||
|
|
||||||
function LDAPEdit() {
|
function LDAPEdit() {
|
||||||
const history = useHistory();
|
const history = useHistory();
|
||||||
const { isModalOpen, toggleModal, closeModal } = useModal();
|
const { isModalOpen, toggleModal, closeModal } = useModal();
|
||||||
@@ -44,8 +53,26 @@ function LDAPEdit() {
|
|||||||
mergedData[key].value = data[key];
|
mergedData[key].value = data[key];
|
||||||
});
|
});
|
||||||
|
|
||||||
return mergedData;
|
const allCategories = {
|
||||||
}, [options]),
|
AUTH_LDAP_1_: filterByPrefix(mergedData, 'AUTH_LDAP_1_'),
|
||||||
|
AUTH_LDAP_2_: filterByPrefix(mergedData, 'AUTH_LDAP_2_'),
|
||||||
|
AUTH_LDAP_3_: filterByPrefix(mergedData, 'AUTH_LDAP_3_'),
|
||||||
|
AUTH_LDAP_4_: filterByPrefix(mergedData, 'AUTH_LDAP_4_'),
|
||||||
|
AUTH_LDAP_5_: filterByPrefix(mergedData, 'AUTH_LDAP_5_'),
|
||||||
|
AUTH_LDAP_: Object.assign({}, mergedData),
|
||||||
|
};
|
||||||
|
Object.keys({
|
||||||
|
...allCategories.AUTH_LDAP_1_,
|
||||||
|
...allCategories.AUTH_LDAP_2_,
|
||||||
|
...allCategories.AUTH_LDAP_3_,
|
||||||
|
...allCategories.AUTH_LDAP_4_,
|
||||||
|
...allCategories.AUTH_LDAP_5_,
|
||||||
|
}).forEach(keyToOmit => {
|
||||||
|
delete allCategories.AUTH_LDAP_[keyToOmit];
|
||||||
|
});
|
||||||
|
|
||||||
|
return allCategories[ldapCategory];
|
||||||
|
}, [options, ldapCategory]),
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import {
|
|||||||
} from '../../../../../testUtils/enzymeHelpers';
|
} from '../../../../../testUtils/enzymeHelpers';
|
||||||
import mockAllOptions from '../../shared/data.allSettingOptions.json';
|
import mockAllOptions from '../../shared/data.allSettingOptions.json';
|
||||||
import mockLDAP from '../../shared/data.ldapSettings.json';
|
import mockLDAP from '../../shared/data.ldapSettings.json';
|
||||||
import mockLDAPDefault from '../../shared/data.ldapDefaultSettings.json';
|
|
||||||
import { SettingsProvider } from '../../../../contexts/Settings';
|
import { SettingsProvider } from '../../../../contexts/Settings';
|
||||||
import { SettingsAPI } from '../../../../api';
|
import { SettingsAPI } from '../../../../api';
|
||||||
import LDAPEdit from './LDAPEdit';
|
import LDAPEdit from './LDAPEdit';
|
||||||
@@ -110,7 +109,30 @@ describe('<LDAPEdit />', () => {
|
|||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
expect(SettingsAPI.updateAll).toHaveBeenCalledTimes(1);
|
expect(SettingsAPI.updateAll).toHaveBeenCalledTimes(1);
|
||||||
expect(SettingsAPI.updateAll).toHaveBeenCalledWith(mockLDAPDefault);
|
expect(SettingsAPI.updateAll).toHaveBeenCalledWith({
|
||||||
|
AUTH_LDAP_BIND_DN: '',
|
||||||
|
AUTH_LDAP_BIND_PASSWORD: '',
|
||||||
|
AUTH_LDAP_CONNECTION_OPTIONS: {
|
||||||
|
OPT_NETWORK_TIMEOUT: 30,
|
||||||
|
OPT_REFERRALS: 0,
|
||||||
|
},
|
||||||
|
AUTH_LDAP_DENY_GROUP: null,
|
||||||
|
AUTH_LDAP_GROUP_SEARCH: [],
|
||||||
|
AUTH_LDAP_GROUP_TYPE: 'MemberDNGroupType',
|
||||||
|
AUTH_LDAP_GROUP_TYPE_PARAMS: {
|
||||||
|
member_attr: 'member',
|
||||||
|
name_attr: 'cn',
|
||||||
|
},
|
||||||
|
AUTH_LDAP_ORGANIZATION_MAP: {},
|
||||||
|
AUTH_LDAP_REQUIRE_GROUP: null,
|
||||||
|
AUTH_LDAP_SERVER_URI: '',
|
||||||
|
AUTH_LDAP_START_TLS: false,
|
||||||
|
AUTH_LDAP_TEAM_MAP: {},
|
||||||
|
AUTH_LDAP_USER_ATTR_MAP: {},
|
||||||
|
AUTH_LDAP_USER_DN_TEMPLATE: null,
|
||||||
|
AUTH_LDAP_USER_FLAGS_BY_GROUP: {},
|
||||||
|
AUTH_LDAP_USER_SEARCH: [],
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should successfully send request to api on form submission', async () => {
|
test('should successfully send request to api on form submission', async () => {
|
||||||
@@ -162,6 +184,7 @@ describe('<LDAPEdit />', () => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should navigate to ldap default detail on successful submission', async () => {
|
test('should navigate to ldap default detail on successful submission', async () => {
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper.find('Form').invoke('onSubmit')();
|
wrapper.find('Form').invoke('onSubmit')();
|
||||||
|
|||||||
@@ -1,134 +0,0 @@
|
|||||||
{
|
|
||||||
"AUTH_LDAP_1_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_1_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_1_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_1_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_1_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_1_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_1_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_1_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_1_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_1_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_1_START_TLS": false,
|
|
||||||
"AUTH_LDAP_1_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_1_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_1_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_1_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_1_USER_SEARCH": [],
|
|
||||||
"AUTH_LDAP_2_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_2_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_2_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_2_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_2_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_2_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_2_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_2_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_2_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_2_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_2_START_TLS": false,
|
|
||||||
"AUTH_LDAP_2_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_2_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_2_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_2_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_2_USER_SEARCH": [],
|
|
||||||
"AUTH_LDAP_3_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_3_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_3_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_3_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_3_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_3_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_3_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_3_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_3_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_3_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_3_START_TLS": false,
|
|
||||||
"AUTH_LDAP_3_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_3_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_3_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_3_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_3_USER_SEARCH": [],
|
|
||||||
"AUTH_LDAP_4_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_4_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_4_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_4_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_4_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_4_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_4_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_4_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_4_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_4_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_4_START_TLS": false,
|
|
||||||
"AUTH_LDAP_4_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_4_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_4_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_4_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_4_USER_SEARCH": [],
|
|
||||||
"AUTH_LDAP_5_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_5_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_5_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_5_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_5_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_5_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_5_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_5_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_5_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_5_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_5_START_TLS": false,
|
|
||||||
"AUTH_LDAP_5_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_5_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_5_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_5_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_5_USER_SEARCH": [],
|
|
||||||
"AUTH_LDAP_BIND_DN": "",
|
|
||||||
"AUTH_LDAP_BIND_PASSWORD": "",
|
|
||||||
"AUTH_LDAP_CONNECTION_OPTIONS": {
|
|
||||||
"OPT_NETWORK_TIMEOUT": 30,
|
|
||||||
"OPT_REFERRALS": 0
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_DENY_GROUP": null,
|
|
||||||
"AUTH_LDAP_GROUP_SEARCH": [],
|
|
||||||
"AUTH_LDAP_GROUP_TYPE": "MemberDNGroupType",
|
|
||||||
"AUTH_LDAP_GROUP_TYPE_PARAMS": {
|
|
||||||
"member_attr": "member",
|
|
||||||
"name_attr": "cn"
|
|
||||||
},
|
|
||||||
"AUTH_LDAP_ORGANIZATION_MAP": {},
|
|
||||||
"AUTH_LDAP_REQUIRE_GROUP": null,
|
|
||||||
"AUTH_LDAP_SERVER_URI": "",
|
|
||||||
"AUTH_LDAP_START_TLS": false,
|
|
||||||
"AUTH_LDAP_TEAM_MAP": {},
|
|
||||||
"AUTH_LDAP_USER_ATTR_MAP": {},
|
|
||||||
"AUTH_LDAP_USER_DN_TEMPLATE": null,
|
|
||||||
"AUTH_LDAP_USER_FLAGS_BY_GROUP": {},
|
|
||||||
"AUTH_LDAP_USER_SEARCH": []
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user