diff options
Diffstat (limited to 'ui-react/src/components')
5 files changed, 0 insertions, 708 deletions
diff --git a/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.js b/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.js deleted file mode 100644 index fa95ca977..000000000 --- a/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.js +++ /dev/null @@ -1,118 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -import React from 'react' -import Button from 'react-bootstrap/Button'; -import Modal from 'react-bootstrap/Modal'; -import Form from 'react-bootstrap/Form'; -import Row from 'react-bootstrap/Row'; -import Col from 'react-bootstrap/Col'; -import styled from 'styled-components'; -import Alert from 'react-bootstrap/Alert'; -import PolicyToscaService from '../../../api/PolicyToscaService'; - -const ModalStyled = styled(Modal)` - background-color: transparent; -` -export default class UploadToscaPolicyModal extends React.Component { - constructor(props, context) { - super(props, context); - - this.handleCreateFromToscaPolicyModel = this.handleCreateFromToscaPolicyModel.bind(this); - this.handleClose = this.handleClose.bind(this); - this.fileSelectedHandler = this.fileSelectedHandler.bind(this); - this.state = { - show: true, - selectedFile: '', - policyModelTosca: [], - apiResponseStatus: '', - apiResponseMessage: '', - upldBtnClicked: false - }; - } - - fileSelectedHandler = (event) => { - if (event.target.files && event.target.files[0]) { - const scope = this; - let reader = new FileReader(); - this.setState({policyModelTosca: '' }); - reader.onload = function(e) { - scope.setState({ policyModelTosca: reader.result}); - }; - console.log("Filename is", event.target.files[0]); - reader.readAsText(event.target.files[0]); - } - this.setState({selectedFile: event.target.files[0]}); - }; - - handleClose() { - this.setState({ show: false }); - this.props.history.push('/'); - } - - handleCreateFromToscaPolicyModel(e) { - e.preventDefault(); - if(this.state.policyModelTosca) { - PolicyToscaService.createPolicyModelFromToscaModel(this.state.policyModelTosca).then(resp => { - if(resp.status === 200) { - this.setState({apiResponseStatus: resp.status, apiResponseMessage: resp.message, upldBtnClicked: true}); - } else { - this.setState({apiResponseStatus: 500, apiResponseMessage: resp, upldBtnClicked: true}); - } - }); - } else { - this.setState({apiResponse: 500, apiResponseMessage: 'Parameters are missing', upldBtnClicked: true}); - } -} - - render() { - return ( - <ModalStyled size="lg" show={this.state.show} onHide={this.handleClose} backdrop="static" keyboard={false} > - <Modal.Header closeButton> - <Modal.Title>Upload Tosca Model</Modal.Title> - </Modal.Header> - <Modal.Body> - <Form.Group as={Row} controlId="formPlaintextEmail"> - <Col sm="10"> - <input style={{display: 'none'}} type="file" name="file" accept=".yaml,.yml" onChange={this.fileSelectedHandler} - ref={fileInput => this.fileInput = fileInput}/> - <button onClick={() => this.fileInput.click()}>Pick Tosca File</button> - <Alert variant="secondary"> - <p>{this.state.selectedFile.name}</p> - </Alert> - </Col> - </Form.Group> - </Modal.Body> - <Modal.Footer> - {!this.state.apiResponseStatus?<Button variant="secondary" type="null" onClick={this.handleClose}>Cancel</Button>:""} - {!this.state.apiResponseStatus?<Button disabled={!this.state.selectedFile.name || this.state.upldBtnClicked} variant="primary" type="submit" onClick={this.handleCreateFromToscaPolicyModel.bind(this)}>Create</Button>:""} - {this.state.apiResponseStatus?<Alert variant={this.state.apiResponseStatus === 200?"success":"danger"}> - <p>{this.state.apiResponseMessage}</p> - <Button onClick={this.handleClose} variant={this.state.apiResponseStatus === 200?"outline-success":"danger"}> - Exit - </Button> - </Alert>:""} - </Modal.Footer> - </ModalStyled> - ); - } -} diff --git a/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.test.js b/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.test.js deleted file mode 100644 index e4842062a..000000000 --- a/ui-react/src/components/dialogs/Tosca/UploadToscaPolicyModal.test.js +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ -import React from 'react'; -import { shallow } from 'enzyme'; -import UploadToscaPolicyModal from './UploadToscaPolicyModal'; - - -describe('Test Upload Tosca Policy Model', () => { - - it('Test handleUploadToscaPolicyModel for Tosca Model', () => { - - const component = shallow(<UploadToscaPolicyModal />); - - const fakeEvent = { preventDefault: () => console.log('preventDefault') }; - - component.setState({ - policyModelType: "TCA", - upldBtnClicked: false, - policyModelTosca: "TCAToscaModelYaml", - selectedFile: { name: "tca.yaml"} - }); - - const Button = component.find('Button').at(1); - - Button.simulate('click', fakeEvent); - - expect(component.state('policyModelTosca')).toEqual('TCAToscaModelYaml'); - - }); - - it('Test handleClose', () => { - - const historyMock = { push: jest.fn() }; - - const handleClose = jest.spyOn(UploadToscaPolicyModal.prototype,'handleClose'); - - const component = shallow(<UploadToscaPolicyModal history={historyMock} />) - - component.find('[variant="secondary"]').at(1).prop('onClick')(); - - expect(handleClose).toHaveBeenCalledTimes(1); - - expect(component.state('show')).toEqual(false); - - expect(historyMock.push.mock.calls[0]).toEqual([ '/']); - - handleClose.mockClear(); - - }); - -}); diff --git a/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.js b/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.js deleted file mode 100644 index d49232f2d..000000000 --- a/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.js +++ /dev/null @@ -1,169 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ - -import React, { forwardRef } from 'react' -import MaterialTable from "material-table"; -import Button from 'react-bootstrap/Button'; -import Modal from 'react-bootstrap/Modal'; -import styled from 'styled-components'; -import PolicyToscaService from '../../../api/PolicyToscaService'; -import ArrowUpward from '@material-ui/icons/ArrowUpward'; -import ChevronLeft from '@material-ui/icons/ChevronLeft'; -import ChevronRight from '@material-ui/icons/ChevronRight'; -import Clear from '@material-ui/icons/Clear'; -import FirstPage from '@material-ui/icons/FirstPage'; -import LastPage from '@material-ui/icons/LastPage'; -import Search from '@material-ui/icons/Search'; - - -const ModalStyled = styled(Modal)` - background-color: transparent; -` -const TextModal = styled.textarea` - margin-top: 20px; - white-space:pre; - background-color: ${props => props.theme.toscaTextareaBackgroundColor}; - text-align: justify; - font-size: ${props => props.theme.toscaTextareaFontSize}; - width: 100%; - height: 300px; -` -const cellStyle = { border: '1px solid black' }; -const headerStyle = { backgroundColor: '#ddd', border: '2px solid black' }; -const rowHeaderStyle = {backgroundColor:'#ddd', fontSize: '15pt', text: 'bold', border: '1px solid black'}; - -export default class ViewToscalPolicyModal extends React.Component { - - state = { - show: true, - content: 'Please select Tosca model to view the details', - selectedRow: -1, - toscaPolicyModelNames: [], - toscaColumns: [ - { title: "#", field: "index", render: rowData => rowData.tableData.id + 1, - cellStyle: cellStyle, - headerStyle: headerStyle - }, - { title: "Policy Model Type", field: "policyModelType", - cellStyle: cellStyle, - headerStyle: headerStyle - }, - { title: "Policy Acronym", field: "policyAcronym", - cellStyle: cellStyle, - headerStyle: headerStyle - }, - { title: "Version", field: "version", - cellStyle: cellStyle, - headerStyle: headerStyle - }, - { title: "Uploaded By", field: "updatedBy", - cellStyle: cellStyle, - headerStyle: headerStyle - }, - { title: "Uploaded Date", field: "updatedDate", editable: 'never', - cellStyle: cellStyle, - headerStyle: headerStyle - } - ], - tableIcons: { - FirstPage: forwardRef((props, ref) => <FirstPage {...props} ref={ref} />), - LastPage: forwardRef((props, ref) => <LastPage {...props} ref={ref} />), - NextPage: forwardRef((props, ref) => <ChevronRight {...props} ref={ref} />), - PreviousPage: forwardRef((props, ref) => <ChevronLeft {...props} ref={ref} />), - ResetSearch: forwardRef((props, ref) => <Clear {...props} ref={ref} />), - Search: forwardRef((props, ref) => <Search {...props} ref={ref} />), - SortArrow: forwardRef((props, ref) => <ArrowUpward {...props} ref={ref} />) - } - }; - - constructor(props, context) { - super(props, context); - this.handleClose = this.handleClose.bind(this); - this.getPolicyToscaModels = this.getToscaPolicyModels.bind(this); - this.handleYamlContent = this.handleYamlContent.bind(this); - this.getToscaPolicyModelYaml = this.getToscaPolicyModelYaml.bind(this); - } - - componentWillMount() { - this.getToscaPolicyModels(); - } - - getToscaPolicyModels() { - PolicyToscaService.getToscaPolicyModels().then(toscaPolicyModelNames => { - this.setState({ toscaPolicyModelNames: toscaPolicyModelNames }); - }); - } - - getToscaPolicyModelYaml(policyModelType, policyModelVersion) { - if (typeof policyModelType !== "undefined") { - PolicyToscaService.getToscaPolicyModelYaml(policyModelType, policyModelVersion).then(toscaYaml => { - if (toscaYaml.length !== 0) { - this.setState({content: toscaYaml}) - } else { - this.setState({ content: 'Please select Tosca model to view the details' }) - } - }); - } else { - this.setState({ content: 'Please select Tosca model to view the details' }) - } - } - - handleYamlContent(event) { - this.setState({ content: event.target.value }); - } - - handleClose() { - this.setState({ show: false }); - this.props.history.push('/'); - } - - render() { - return ( - <ModalStyled size="xl" show={this.state.show} onHide={this.handleClose} backdrop="static" keyboard={false}> - <Modal.Header closeButton> - </Modal.Header> - <Modal.Body> - <MaterialTable - title={"View Tosca Policy Models"} - data={this.state.toscaPolicyModelNames} - columns={this.state.toscaColumns} - icons={this.state.tableIcons} - onRowClick={(event, rowData) => {this.getToscaPolicyModelYaml(rowData.policyModelType,rowData.version);this.setState({selectedRow: rowData.tableData.id})}} - options={{ - headerStyle: rowHeaderStyle, - rowStyle: rowData => ({ - backgroundColor: (this.state.selectedRow !== -1 && this.state.selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF' - }) - }} - /> - <div> - <TextModal value={this.state.content} onChange={this.handleYamlContent}/> - </div> - </Modal.Body> - <Modal.Footer> - <Button variant="secondary" onClick={this.handleClose}>Close</Button> - </Modal.Footer> - </ModalStyled> - ); - } -} diff --git a/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.test.js b/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.test.js deleted file mode 100644 index a599cec04..000000000 --- a/ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.test.js +++ /dev/null @@ -1,195 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP CLAMP - * ================================================================================ - * Copyright (C) 2020 AT&T Intellectual Property. All rights - * reserved. - * ================================================================================ - * 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. - * ============LICENSE_END============================================ - * =================================================================== - * - */ -import React from 'react'; -import { shallow } from 'enzyme'; -import ViewToscaPolicyModal from './ViewToscaPolicyModal'; -import { mount } from 'enzyme'; - - -describe('Verify ViewToscaPolicyModal', () => { - beforeEach(() => { - fetch.resetMocks(); - }); - - it('Test API Successful', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: true, - status: 200, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const component = shallow(<ViewToscaPolicyModal/>); - }); - - it('Test API Exception', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: false, - status: 500, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const component = shallow(<ViewToscaPolicyModal/>); - }); - - it('Test API Rejection', () => { - const myMockFunc = fetch.mockImplementationOnce(() => Promise.reject('error')); - setTimeout( - () => - myMockFunc().catch(e => { - console.info(e); - }), - 100 - ); - const component = shallow(<ViewToscaPolicyModal/>); - expect(myMockFunc.mock.calls.length).toBe(1); - }); - - - it('Test the tosca model view render method', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: true, - status: 200, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const component = shallow(<ViewToscaPolicyModal/>); - component.setState({ toscaNames: { - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - } - }); - expect(component).toMatchSnapshot(); - }); - - it('Test Table icons', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: true, - status: 200, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const component = mount(<ViewToscaPolicyModal/>); - expect(component.find('[className="MuiSelect-icon MuiTablePagination-selectIcon"]')).toBeTruthy(); - }); - - it('Test handleYamlContent', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: true, - status: 200, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym":"TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const yamlContent = 'TCA Tosca model details'; - const component = shallow(<ViewToscaPolicyModal/>); - component.find('[value="Please select Tosca model to view the details"]').prop('onChange')({ target: { value: yamlContent }}); - expect(component.state('content')).toEqual(yamlContent); - }); - - it('Test handleClose', () => { - fetch.mockImplementationOnce(() => { - return Promise.resolve({ - ok: true, - status: 200, - json: () => { - return Promise.resolve({ - "index": "1", - "policyModelTosca":"TCA", - "policyModelType":"onap.policies.monitoring.cdap.tca.hi.lo.app", - "version":"1.0.0", - "policyAcronym": "TCA", - "updatedDate": "2020-01-31T20:49:48.658795600Z", - "updatedBy": "admin" - }); - } - }); - }); - const historyMock = { push: jest.fn() }; - const handleClose = jest.spyOn(ViewToscaPolicyModal.prototype,'handleClose'); - const component = shallow(<ViewToscaPolicyModal history={historyMock} />) - component.find('[variant="secondary"]').prop('onClick')(); - expect(handleClose).toHaveBeenCalledTimes(1); - expect(component.state('show')).toEqual(false); - expect(historyMock.push.mock.calls[0]).toEqual([ '/']); - handleClose.mockClear(); - }); -}); diff --git a/ui-react/src/components/dialogs/Tosca/__snapshots__/ViewToscaPolicyModal.test.js.snap b/ui-react/src/components/dialogs/Tosca/__snapshots__/ViewToscaPolicyModal.test.js.snap deleted file mode 100644 index 5f19a9b7d..000000000 --- a/ui-react/src/components/dialogs/Tosca/__snapshots__/ViewToscaPolicyModal.test.js.snap +++ /dev/null @@ -1,155 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Verify ViewToscaPolicyModal Test the tosca model view render method 1`] = ` -<Styled(Bootstrap(Modal)) - backdrop="static" - keyboard={false} - onHide={[Function]} - show={true} - size="xl" -> - <ModalHeader - closeButton={true} - closeLabel="Close" - /> - <ModalBody> - <WithStyles(Component) - columns={ - Array [ - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "field": "index", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "render": [Function], - "title": "#", - }, - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "field": "policyModelType", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "title": "Policy Model Type", - }, - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "field": "policyAcronym", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "title": "Policy Acronym", - }, - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "field": "version", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "title": "Version", - }, - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "field": "updatedBy", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "title": "Uploaded By", - }, - Object { - "cellStyle": Object { - "border": "1px solid black", - }, - "editable": "never", - "field": "updatedDate", - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "2px solid black", - }, - "title": "Uploaded Date", - }, - ] - } - data={Array []} - icons={ - Object { - "FirstPage": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "LastPage": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "NextPage": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "PreviousPage": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "ResetSearch": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "Search": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - "SortArrow": Object { - "$$typeof": Symbol(react.forward_ref), - "render": [Function], - }, - } - } - onRowClick={[Function]} - options={ - Object { - "headerStyle": Object { - "backgroundColor": "#ddd", - "border": "1px solid black", - "fontSize": "15pt", - "text": "bold", - }, - "rowStyle": [Function], - } - } - title="View Tosca Policy Models" - /> - <div> - <styled.textarea - onChange={[Function]} - value="Please select Tosca model to view the details" - /> - </div> - </ModalBody> - <ModalFooter> - <Button - active={false} - disabled={false} - onClick={[Function]} - type="button" - variant="secondary" - > - Close - </Button> - </ModalFooter> -</Styled(Bootstrap(Modal))> -`; |