Commit 9bac264b authored by Nicolò Maria Mezzopera's avatar Nicolò Maria Mezzopera

Merge branch 'preserve_enviroment_when_editing_network_policy' into 'master'

Preserve environment when editing Network Policies

See merge request gitlab-org/gitlab!42148
parents f4f63b99 fb30154c
...@@ -9,6 +9,7 @@ export default () => { ...@@ -9,6 +9,7 @@ export default () => {
networkPoliciesEndpoint, networkPoliciesEndpoint,
threatMonitoringPath, threatMonitoringPath,
policy, policy,
environmentId,
} = el.dataset; } = el.dataset;
const store = createStore(); const store = createStore();
...@@ -19,6 +20,10 @@ export default () => { ...@@ -19,6 +20,10 @@ export default () => {
networkPoliciesEndpoint, networkPoliciesEndpoint,
}); });
if (environmentId !== undefined) {
store.dispatch('threatMonitoring/setCurrentEnvironmentId', parseInt(environmentId, 10));
}
const props = { threatMonitoringPath }; const props = { threatMonitoringPath };
if (policy) { if (policy) {
props.existingPolicy = JSON.parse(policy); props.existingPolicy = JSON.parse(policy);
......
...@@ -12,7 +12,8 @@ export default { ...@@ -12,7 +12,8 @@ export default {
state.environments = payload; state.environments = payload;
state.isLoadingEnvironments = false; state.isLoadingEnvironments = false;
state.errorLoadingEnvironments = false; state.errorLoadingEnvironments = false;
if (payload.length > 0) state.currentEnvironmentId = payload[0].id; if (payload.length > 0 && state.currentEnvironmentId === -1)
state.currentEnvironmentId = payload[0].id;
}, },
[types.RECEIVE_ENVIRONMENTS_ERROR](state) { [types.RECEIVE_ENVIRONMENTS_ERROR](state) {
state.isLoadingEnvironments = false; state.isLoadingEnvironments = false;
......
...@@ -9,11 +9,11 @@ module Projects ...@@ -9,11 +9,11 @@ module Projects
end end
def edit def edit
environment = project.environments.find(params[:environment_id]) @environment = project.environments.find(params[:environment_id])
@policy_name = params[:id] @policy_name = params[:id]
response = NetworkPolicies::FindResourceService.new( response = NetworkPolicies::FindResourceService.new(
resource_name: @policy_name, resource_name: @policy_name,
environment: environment, environment: @environment,
kind: Gitlab::Kubernetes::CiliumNetworkPolicy::KIND kind: Gitlab::Kubernetes::CiliumNetworkPolicy::KIND
).execute ).execute
......
...@@ -6,4 +6,5 @@ ...@@ -6,4 +6,5 @@
environments_endpoint: project_environments_path(@project), environments_endpoint: project_environments_path(@project),
threat_monitoring_path: project_threat_monitoring_path(@project), threat_monitoring_path: project_threat_monitoring_path(@project),
policy: @policy.to_json, policy: @policy.to_json,
environment_id: @environment.id,
} } } }
---
title: This change preserves the environment when editing network policies
merge_request: 42148
author:
type: fixed
...@@ -5,7 +5,9 @@ describe('Threat Monitoring mutations', () => { ...@@ -5,7 +5,9 @@ describe('Threat Monitoring mutations', () => {
let state; let state;
beforeEach(() => { beforeEach(() => {
state = {}; state = {
currentEnvironmentId: -1,
};
}); });
describe(types.SET_ENDPOINT, () => { describe(types.SET_ENDPOINT, () => {
...@@ -52,6 +54,29 @@ describe('Threat Monitoring mutations', () => { ...@@ -52,6 +54,29 @@ describe('Threat Monitoring mutations', () => {
it('sets currentEnvironmentId to 1', () => { it('sets currentEnvironmentId to 1', () => {
expect(state.currentEnvironmentId).toEqual(1); expect(state.currentEnvironmentId).toEqual(1);
}); });
describe('without payload', () => {
beforeEach(() => {
state.currentEnvironmentId = 1;
mutations[types.RECEIVE_ENVIRONMENTS_SUCCESS](state, []);
});
it('does not update currentEnvironmentId', () => {
expect(state.currentEnvironmentId).toBe(1);
});
});
describe('with currentEnvironmentId set', () => {
beforeEach(() => {
state.currentEnvironmentId = 1;
environments = [{ id: 2, name: 'production' }];
mutations[types.RECEIVE_ENVIRONMENTS_SUCCESS](state, environments);
});
it('does not update currentEnvironmentId', () => {
expect(state.currentEnvironmentId).toBe(1);
});
});
}); });
describe(types.RECEIVE_ENVIRONMENTS_ERROR, () => { describe(types.RECEIVE_ENVIRONMENTS_ERROR, () => {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment