aboutsummaryrefslogtreecommitdiffstats
path: root/gui-clamp/ui-react/src/api
diff options
context:
space:
mode:
authorsaul.gill <saul.gill@est.tech>2021-07-02 17:10:54 +0100
committersaul.gill <saul.gill@est.tech>2021-07-02 17:10:59 +0100
commit6687b48b58bf1248532de48f3e375b1f663f4015 (patch)
tree6582070c8db251b85695bcdc902ea98aac573003 /gui-clamp/ui-react/src/api
parentb908988c81db910d4e2bea3e569e468f5f2c8f85 (diff)
Changed components to be service-centric
Moved endpoints to ControlLoopService.js Refactored components and tests Issue-ID: POLICY-3424 Change-Id: I70d48750250eecd651b845ef0c726617983f75f5 Signed-off-by: saul.gill <saul.gill@est.tech>
Diffstat (limited to 'gui-clamp/ui-react/src/api')
-rw-r--r--gui-clamp/ui-react/src/api/ControlLoopService.js34
-rw-r--r--gui-clamp/ui-react/src/api/GetToscaTemplate.js56
-rw-r--r--gui-clamp/ui-react/src/api/GetToscaTemplate.test.js55
-rw-r--r--gui-clamp/ui-react/src/api/UploadToscaFile.js63
-rw-r--r--gui-clamp/ui-react/src/api/UploadToscaFile.test.js63
-rw-r--r--gui-clamp/ui-react/src/api/__snapshots__/GetToscaTemplate.test.js.snap15
-rw-r--r--gui-clamp/ui-react/src/api/__snapshots__/UploadToscaFile.test.js.snap16
7 files changed, 34 insertions, 268 deletions
diff --git a/gui-clamp/ui-react/src/api/ControlLoopService.js b/gui-clamp/ui-react/src/api/ControlLoopService.js
index 5ef7529..1882f78 100644
--- a/gui-clamp/ui-react/src/api/ControlLoopService.js
+++ b/gui-clamp/ui-react/src/api/ControlLoopService.js
@@ -44,4 +44,38 @@ export default class ControlLoopService {
return undefined;
});
}
+
+ static async getToscaTemplate(name, version, windowLocationPathname) {
+ const params = {
+ name: name,
+ version: version
+ }
+
+ const response = await fetch(windowLocationPathname +
+ '/restservices/clds/v2/toscaControlLoop/getToscaTemplate' + '?' + (new URLSearchParams(params)));
+
+ if (!response.ok) {
+ const message = `An error has occurred: ${response.status}`;
+ throw new Error(message);
+ }
+
+ const data = await response;
+
+ return data;
+ }
+
+ static async uploadToscaFile(toscaObject, windowLocationPathName) {
+ const response = await fetch(windowLocationPathName +
+ '/restservices/clds/v2/toscaControlLoop/commissionToscaTemplate', {
+ method: 'POST',
+ headers: {
+ "Content-Type": "application/json"
+ },
+ credentials: 'same-origin',
+ body: JSON.stringify(toscaObject),
+ });
+
+ return response
+
+ }
}
diff --git a/gui-clamp/ui-react/src/api/GetToscaTemplate.js b/gui-clamp/ui-react/src/api/GetToscaTemplate.js
deleted file mode 100644
index d428491..0000000
--- a/gui-clamp/ui-react/src/api/GetToscaTemplate.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-import React, { useState } from "react";
-import Button from "react-bootstrap/Button";
-
-const GetToscaTemplate = (props) => {
-
- const [windowLocationPathName, setWindowLocationPathname] = useState('');
-
- const getTemplateHandler = async () => {
- console.log('getTemplateHandler called')
- setWindowLocationPathname(window.location.pathname);
-
- const params = {
- name: props.templateName,
- version: props.templateVersion
- }
-
- const response = await fetch(windowLocationPathName +
- '/restservices/clds/v2/toscaControlLoop/getToscaTemplate' + '?' + (new URLSearchParams(params)));
-
- const data = await response.json();
-
- props.onGetToscaServiceTemplate(data);
-
- }
-
- return (
- <React.Fragment>
- <Button variant="primary"
- type="submit"
- onClick={ getTemplateHandler }>Get Tosca Service Template</Button>
- </React.Fragment>
- );
-
-
-}
-
-export default GetToscaTemplate;
diff --git a/gui-clamp/ui-react/src/api/GetToscaTemplate.test.js b/gui-clamp/ui-react/src/api/GetToscaTemplate.test.js
deleted file mode 100644
index 338ee83..0000000
--- a/gui-clamp/ui-react/src/api/GetToscaTemplate.test.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * -
- * * ============LICENSE_START=======================================================
- * * Copyright (C) 2021 Nordix Foundation.
- * * ================================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * *
- * * SPDX-License-Identifier: Apache-2.0
- * * ============LICENSE_END=========================================================
- *
- */
-import React from 'react';
-import { mount, shallow } from 'enzyme';
-import GetToscaTemplate from './GetToscaTemplate';
-import toJson from "enzyme-to-json";
-
-describe('Verify GetToscaTemplate', () => {
-
- it("renders without crashing", () => {
- shallow(<GetToscaTemplate/>);
- });
-
- it("renders correctly", () => {
- const tree = shallow(<GetToscaTemplate/>);
- expect(toJson(tree)).toMatchSnapshot();
- });
-
- it('should have a Button element', () => {
- const container = shallow(<GetToscaTemplate/>)
- expect(container.find('Button').length).toEqual(1);
- });
-
- it('button should call getTemplateHandler when clicked', async () => {
- const component = mount(<GetToscaTemplate/>)
- const logSpy = jest.spyOn(console, 'log');
-
- component.find('[variant="primary"]').simulate('click');
- expect(logSpy).toHaveBeenCalledWith('getTemplateHandler called');
- });
-
- it('should have a Button element with specified text', () => {
- const container = shallow(<GetToscaTemplate/>)
- expect(container.find('Button').text()).toBe('Get Tosca Service Template');
- });
-});
diff --git a/gui-clamp/ui-react/src/api/UploadToscaFile.js b/gui-clamp/ui-react/src/api/UploadToscaFile.js
deleted file mode 100644
index 4173e0d..0000000
--- a/gui-clamp/ui-react/src/api/UploadToscaFile.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * -
- * * ============LICENSE_START=======================================================
- * * Copyright (C) 2021 Nordix Foundation.
- * * ================================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * *
- * * SPDX-License-Identifier: Apache-2.0
- * * ============LICENSE_END=========================================================
- *
- */
-import Button from "react-bootstrap/Button";
-import React, { useState } from "react";
-
-const UploadToscaFile = (props) => {
- const [windowLocationPathName, setWindowLocationPathname] = useState('');
-
- const postServiceTemplateHandler = async (event) => {
- event.preventDefault();
- console.log('postServiceTemplateHandler called');
- setWindowLocationPathname(window.location.pathname);
-
- const response = await fetch(windowLocationPathName +
- '/restservices/clds/v2/toscaControlLoop/commissionToscaTemplate', {
- method: 'POST',
- headers: {
- "Content-Type": "application/json"
- },
- credentials: 'same-origin',
- body: JSON.stringify(props.toscaObject),
- });
-
- const responseObj = await response;
- const responseMessage = await response.text();
-
- props.onResponseReceived(responseObj, responseMessage);
-
- }
-
- return (
- <React.Fragment>
- <Button variant="primary"
- block={ true }
- type="submit"
- onClick={ postServiceTemplateHandler }>
- Upload Tosca Service Template
- </Button>
- </React.Fragment>
- );
-
-};
-
-export default UploadToscaFile;
diff --git a/gui-clamp/ui-react/src/api/UploadToscaFile.test.js b/gui-clamp/ui-react/src/api/UploadToscaFile.test.js
deleted file mode 100644
index 681acc7..0000000
--- a/gui-clamp/ui-react/src/api/UploadToscaFile.test.js
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * -
- * * ============LICENSE_START=======================================================
- * * Copyright (C) 2021 Nordix Foundation.
- * * ================================================================================
- * * Licensed under the Apache License, Version 2.0 (the "License");
- * * you may not use this file except in compliance with the License.
- * * You may obtain a copy of the License at
- * *
- * * http://www.apache.org/licenses/LICENSE-2.0
- * *
- * * Unless required by applicable law or agreed to in writing, software
- * * distributed under the License is distributed on an "AS IS" BASIS,
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * * See the License for the specific language governing permissions and
- * * limitations under the License.
- * *
- * * SPDX-License-Identifier: Apache-2.0
- * * ============LICENSE_END=========================================================
- *
- */
-import React from 'react';
-import { mount, shallow } from 'enzyme';
-import UploadToscaFile from './UploadToscaFile';
-import toJson from "enzyme-to-json";
-import { act } from "react-dom/test-utils";
-
-describe('Verify UploadToscaFile', () => {
-
- it("renders without crashing", () => {
- shallow(<UploadToscaFile/>);
- });
-
- it("renders correctly", () => {
- const tree = shallow(<UploadToscaFile/>);
- expect(toJson(tree)).toMatchSnapshot();
- });
-
- it('should have a Button element', () => {
- const container = shallow(<UploadToscaFile/>)
- expect(container.find('Button').length).toEqual(1);
- });
-
- it('button should call postServiceTemplateHandler when clicked', async () => {
- const component = mount(<UploadToscaFile/>)
- const logSpy = jest.spyOn(console, 'log');
- const event = {
- preventDefault() {
- }
- };
-
- act(async () => {
- component.find('[variant="primary"]').get(0).props.onClick(event);
- expect(logSpy).toHaveBeenCalledWith('postServiceTemplateHandler called');
- })
-
- });
-
- it('should have a Button element with specified text', () => {
- const container = shallow(<UploadToscaFile/>)
- expect(container.find('Button').text()).toBe('Upload Tosca Service Template');
- });
-});
diff --git a/gui-clamp/ui-react/src/api/__snapshots__/GetToscaTemplate.test.js.snap b/gui-clamp/ui-react/src/api/__snapshots__/GetToscaTemplate.test.js.snap
deleted file mode 100644
index 2c591d9..0000000
--- a/gui-clamp/ui-react/src/api/__snapshots__/GetToscaTemplate.test.js.snap
+++ /dev/null
@@ -1,15 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Verify GetToscaTemplate renders correctly 1`] = `
-<Fragment>
- <Button
- active={false}
- disabled={false}
- onClick={[Function]}
- type="submit"
- variant="primary"
- >
- Get Tosca Service Template
- </Button>
-</Fragment>
-`;
diff --git a/gui-clamp/ui-react/src/api/__snapshots__/UploadToscaFile.test.js.snap b/gui-clamp/ui-react/src/api/__snapshots__/UploadToscaFile.test.js.snap
deleted file mode 100644
index a1ae439..0000000
--- a/gui-clamp/ui-react/src/api/__snapshots__/UploadToscaFile.test.js.snap
+++ /dev/null
@@ -1,16 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Verify UploadToscaFile renders correctly 1`] = `
-<Fragment>
- <Button
- active={false}
- block={true}
- disabled={false}
- onClick={[Function]}
- type="submit"
- variant="primary"
- >
- Upload Tosca Service Template
- </Button>
-</Fragment>
-`;