-FROM robotframework/rfdocker:3.1.1
+FROM ubuntu:16.04
MAINTAINER "CMSO"
LABEL name="Docker image for the CMSO Robot Testing Framework"
LABEL usage="docker run -e <testname> optf-cmso-robot"
+RUN apt-get update
+RUN apt-get install -y software-properties-common vim
+RUN add-apt-repository ppa:jonathonf/python-3.6
+RUN apt-get update
+RUN apt-get install -y build-essential python3.6 python3.6-dev python3-pip python3.6-venv
+
+# update pip
+RUN python3.6 -m pip install pip --upgrade
+RUN python3.6 -m pip install wheel
+
+RUN apt-get update \
+ && apt-get install \
+ --no-install-recommends \
+ --assume-yes \
+ chromium-browser \
+ chromium-chromedriver \
+ dnsutils \
+ git \
+ gcc
+
+
COPY /onap-cmso/robot /opt/cmso-robot/robot
COPY /onap-cmso/ete.sh /opt/cmso-robot
RUN chmod 777 /opt/cmso-robot/ete.sh
COPY /onap-cmso/server.py /opt/cmso-robot
+
+
+RUN ln -s /usr/bin/python3.6 /usr/bin/python
+RUN python --version
+RUN pip --version
+RUN pip install robotframework==3.1.1
+
RUN pip install Flask
+RUN pip install selenium
+RUN pip install robotframework-sshlibrary
+RUN pip install robotframework-requests
###Just to keep it running
CMD ["/usr/bin/python", "/opt/cmso-robot/server.py"]
### Use --entrypoint to override to run the tests test and exit
### --entrypoint /opt/cmso-robot/ete.sh
-
-
<groupId>org.springframework</groupId>\r
<artifactId>spring-beans</artifactId>\r
</dependency>\r
- <dependency>\r
- <groupId>org.springframework</groupId>\r
- <artifactId>spring-beans</artifactId>\r
- </dependency>\r
<dependency>\r
<groupId>org.springframework</groupId>\r
<artifactId>spring-context</artifactId>\r
* limitations under the License.
*/
-
package org.onap.optf.cmso;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mockito;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
@RunWith(MockitoJUnitRunner.class)
public class AuthProviderTest {
+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * \r
- * \r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * https://creativecommons.org/licenses/by/4.0/\r
- * \r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
-\r
-package org.onap.optf.cmso;\r
-\r
-import java.util.concurrent.atomic.AtomicBoolean;\r
-import org.onap.optf.cmso.model.ApprovalType;\r
-import org.onap.optf.cmso.model.Domain;\r
-import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;\r
-\r
-public class JpaInit {\r
-\r
- private static AtomicBoolean initialized = new AtomicBoolean(false);\r
-\r
- public static void init(TestEntityManager entityManager) {\r
- if (initialized.compareAndSet(true, true))\r
- return;\r
- Domain d = new Domain();\r
- d.setDomain("ChangeManagement");\r
- entityManager.persist(d);\r
- ApprovalType at = new ApprovalType();\r
- at.setApprovalCount(1);\r
- at.setDomain("ChangeManagement");\r
- at.setApprovalType("Tier 2");\r
- entityManager.persist(at);\r
- entityManager.flush();\r
-\r
- }\r
-}\r
+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * \r
- * \r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * https://creativecommons.org/licenses/by/4.0/\r
- * \r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
-\r
-package org.onap.optf.cmso;\r
-\r
-import java.io.File;\r
-import java.io.FileNotFoundException;\r
-import java.util.Map;\r
-import java.util.Scanner;\r
-import org.apache.commons.lang3.text.StrSubstitutor;\r
-\r
-public class JtestHelper {\r
- private static String templatefolder = "src/test/templates" + File.separator;\r
-\r
- public static String template(String filename, Map<String, String> values) {\r
- String data = "";\r
- Scanner s = null;\r
- try {\r
- File t = new File(templatefolder + filename);\r
- s = new Scanner(t);\r
- s.useDelimiter("\\Z");\r
- data = s.next();\r
- StrSubstitutor ss = new StrSubstitutor(values);\r
- data = ss.replace(data);\r
- } catch (FileNotFoundException e) {\r
- data = "";\r
- } finally {\r
- if (s != null)\r
- s.close();\r
- }\r
- return data;\r
- }\r
-}\r
+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * \r
- * \r
- * Unless otherwise specified, all documentation contained herein is licensed\r
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
- * you may not use this documentation except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * https://creativecommons.org/licenses/by/4.0/\r
- * \r
- * Unless required by applicable law or agreed to in writing, documentation\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
-*/\r
-\r
-package org.onap.optf.cmso.service.rs;\r
-\r
-import static org.mockito.Mockito.mock;\r
-import static org.mockito.Mockito.when;\r
-import javax.servlet.http.HttpServletRequest;\r
-\r
-public class MockHttpServletRequest {\r
- public StringBuffer url = new StringBuffer("http://localhost:8089/cmso/v1/ChangeManagement/schedules/");\r
- public HttpServletRequest request = mock(HttpServletRequest.class);\r
-\r
- MockHttpServletRequest() {\r
-\r
- when(request.getRequestURL()).thenReturn(url);\r
- when(request.getHeader("Authorization")).thenReturn("BasicbTEzODc3OnNjaGVkdWxlci1SMTgwMiE=");\r
-\r
- }\r
-\r
-}\r
/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * Modifications Copyright © 2018 IBM.\r
+ *\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
* You may obtain a copy of the License at\r
- * \r
+ *\r
* http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
+ *\r
* Unless required by applicable law or agreed to in writing, software\r
* distributed under the License is distributed on an "AS IS" BASIS,\r
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
* See the License for the specific language governing permissions and\r
* limitations under the License.\r
- * \r
- * \r
+ *\r
+ *\r
* Unless otherwise specified, all documentation contained herein is licensed\r
* under the Creative Commons License, Attribution 4.0 Intl. (the "License");\r
* you may not use this documentation except in compliance with the License.\r
* You may obtain a copy of the License at\r
- * \r
+ *\r
* https://creativecommons.org/licenses/by/4.0/\r
- * \r
+ *\r
* Unless required by applicable law or agreed to in writing, documentation\r
* distributed under the License is distributed on an "AS IS" BASIS,\r
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
* See the License for the specific language governing permissions and\r
* limitations under the License.\r
-*/\r
+ */\r
\r
package org.onap.optf.cmso.utilities;\r
\r
import org.onap.optf.cmso.common.PropertiesManagement;\r
\r
public class PropertiesAdmin {\r
- public static void main(String[] args) {\r
- PropertiesManagement pm = new PropertiesManagement();\r
- if (args.length < 1) {\r
- System.out.println("Missing argument");\r
- return;\r
- }\r
- String value = "";\r
- if (args[0].startsWith("dec:")) {\r
- value = PropertiesManagement.getDecryptedValue(args[0].substring(4));\r
- } else {\r
- value = pm.getEncryptedValue(args[0]);\r
- }\r
- System.out.println(args[0] + " : " + value);\r
+ /**\r
+ * Test properties admin.\r
+ *\r
+ * @param args\r
+ */\r
+ public static void main(String[] args) {\r
+ PropertiesManagement pm = new PropertiesManagement();\r
+ if (args.length < 1) {\r
+ System.out.println("Missing argument");\r
+ return;\r
}\r
-\r
+ String value = "";\r
+ if (args[0].startsWith("dec:")) {\r
+ value = PropertiesManagement.getDecryptedValue(args[0].substring(4));\r
+ } else {\r
+ value = pm.getEncryptedValue(args[0]);\r
+ }\r
+ System.out.println(args[0] + " : " + value);\r
+ }\r
}\r
<packaging>jar</packaging>
- <name>cmso</name>
+ <name>cmso-ticketmgt</name>
<properties>
<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-beans</artifactId>
- </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<apiVersion>1.23</apiVersion>
<images>
<image>
- <name>onap/optf-cmso-tciketmgt</name>
+ <name>onap/optf-cmso-ticketmgt</name>
<alias>onap-optf-cmso-tciketmgt</alias>
<build>
<cleanup>true</cleanup>
+++ /dev/null
-/*
- * Copyright © 2019 IBM Intellectual Property.
- *
- * 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.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * 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.
- */
-
-
-package org.onap.optf.cmso;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-import org.onap.optf.ticketmgt.AuthProvider;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public class AuthProviderTest {
-
- @Test
- public void authenticate() {
- String principal = "testName";
- String credential = "testPassword";
- Authentication authentication = mock(Authentication.class);
- when(authentication.getName()).thenReturn(principal);
- when(authentication.getCredentials()).thenReturn(credential);
- AuthProvider authProvider = new AuthProvider();
- Authentication auth = authProvider.authenticate(authentication);
- assertEquals(principal, auth.getPrincipal());
- assertEquals(credential, auth.getCredentials());
- }
-
- @Test
- public void supports() {
- AuthProvider authProvider = new AuthProvider();
- assertTrue(authProvider.supports(UsernamePasswordAuthenticationToken.class));
- assertFalse(authProvider.supports(Authentication.class));
- }
-}
\ No newline at end of file
+++ /dev/null
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * 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.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * 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.
-*/
-
-package org.onap.optf.cmso;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.Map;
-import java.util.Scanner;
-import org.apache.commons.lang3.text.StrSubstitutor;
-
-public class JtestHelper {
- private static String templatefolder = "src/test/templates" + File.separator;
-
- public static String template(String filename, Map<String, String> values) {
- String data = "";
- Scanner s = null;
- try {
- File t = new File(templatefolder + filename);
- s = new Scanner(t);
- s.useDelimiter("\\Z");
- data = s.next();
- StrSubstitutor ss = new StrSubstitutor(values);
- data = ss.replace(data);
- } catch (FileNotFoundException e) {
- data = "";
- } finally {
- if (s != null)
- s.close();
- }
- return data;
- }
-}
+++ /dev/null
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * 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.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * 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.
-*/
-
-package org.onap.optf.cmso.service.rs;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-import javax.servlet.http.HttpServletRequest;
-
-public class MockHttpServletRequest {
- public StringBuffer url = new StringBuffer("http://localhost:8089/cmso/v1/ChangeManagement/schedules/");
- public HttpServletRequest request = mock(HttpServletRequest.class);
-
- MockHttpServletRequest() {
-
- when(request.getRequestURL()).thenReturn(url);
- when(request.getHeader("Authorization")).thenReturn("BasicbTEzODc3OnNjaGVkdWxlci1SMTgwMiE=");
-
- }
-
-}
+++ /dev/null
-/*
- * Copyright © 2017-2018 AT&T Intellectual Property.
- * Modifications Copyright © 2018 IBM.
- *
- * 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.
- *
- *
- * Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
- * you may not use this documentation except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://creativecommons.org/licenses/by/4.0/
- *
- * Unless required by applicable law or agreed to in writing, documentation
- * 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.
-*/
-
-package org.onap.optf.cmso.utilities;
-
-import org.onap.optf.cmso.common.PropertiesManagement;
-
-public class PropertiesAdmin {
- public static void main(String[] args) {
- PropertiesManagement pm = new PropertiesManagement();
- if (args.length < 1) {
- System.out.println("Missing argument");
- return;
- }
- String value = "";
- if (args[0].startsWith("dec:")) {
- value = PropertiesManagement.getDecryptedValue(args[0].substring(4));
- } else {
- value = pm.getEncryptedValue(args[0]);
- }
- System.out.println(args[0] + " : " + value);
- }
-
-}
<modules>\r
<module>cmso-service</module>\r
<module>cmso-database</module>\r
+ <module>cmso-robot</module>\r
</modules>\r
\r
<build> \r