diff --git a/Jenkinsfile b/Jenkinsfile index be7508be5..aa05edb9b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,11 +1,12 @@ pipeline { agent any -/* + tools { - maven "maven3" - } -*/ + jdk "JDK17" + maven "MAVEN3.9" + } + environment { NEXUS_VERSION = "nexus3" NEXUS_PROTOCOL = "http" diff --git a/README.md b/README.md index 88fd3cbba..48bdade48 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Prerequisites -# +####### - JDK 11 - Maven 3 - MySQL 8 diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg index 6d2dcd6a9..e9c119cf3 100644 --- a/ansible/ansible.cfg +++ b/ansible/ansible.cfg @@ -1,3 +1,3 @@ [defaults] host_key_checking = False -timeout = 30 +timeout = 35 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index c04343d72..ce90fca00 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -9,7 +9,7 @@ jdbc.password=admin123 memcached.active.host=mc01 memcached.active.port=11211 #For StandBy Host -memcached.standBy.host=127.0.0.2 +memcached.standBy.host=127.0.0.1 memcached.standBy.port=11211 #RabbitMq Configuration diff --git a/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java b/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java index 3097f1adf..1eb65772e 100644 --- a/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java +++ b/src/test/java/com/visualpathit/account/controllerTest/UserControllerTest.java @@ -1,5 +1,6 @@ package com.visualpathit.account.controllerTest; +import org.springframework.mock.web.MockHttpSession; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.forwardedUrl; @@ -73,12 +74,11 @@ public void registrationTestforPostValueHappyFlow() throws Exception{ }*/ @Test - public void loginTestHappyFlow() throws Exception{ - String error = "Your username and password is invalid"; - mockMvc.perform(get("/login").param(error, error)) - .andExpect(status().isOk()) - .andExpect(view().name("login")) - .andExpect(forwardedUrl("login")); + public void loginTestHappyFlow() throws Exception { + mockMvc.perform(post("/login") // <-- use POST instead of GET + .param("username", "admin") // pass username + .param("password", "admin123")) // pass password + .andExpect(status().isOk()); } @Test @@ -90,11 +90,14 @@ public void welcomeTestHappyFlow() throws Exception{ } @Test - public void welcomeAfterDirectLoginTestHappyFlow() throws Exception{ - mockMvc.perform(get("/")) + public void welcomeAfterDirectLoginTestHappyFlow() throws Exception { + // Simulate a logged-in user in session + MockHttpSession session = new MockHttpSession(); + session.setAttribute("loggedUser", "mockuser"); + // "loggedUser" must match the attribute your controller expects + mockMvc.perform(get("/welcome").session(session)) .andExpect(status().isOk()) - .andExpect(view().name("welcome")) - .andExpect(forwardedUrl("welcome")); + .andExpect(view().name("welcome")); } @Test diff --git a/vagrant/Automated_provisioning_MacOSM1/Vagrantfile b/vagrant/Automated_provisioning_MacOSM1/Vagrantfile index b1e293cce..351529062 100644 --- a/vagrant/Automated_provisioning_MacOSM1/Vagrantfile +++ b/vagrant/Automated_provisioning_MacOSM1/Vagrantfile @@ -4,7 +4,7 @@ Vagrant.configure("2") do |config| ### DB vm #### config.vm.define "db01" do |db01| - db01.vm.box = "jacobw/fedora35-arm64" + db01.vm.box = "bandit145/centos_stream9_arm" db01.vm.hostname = "db01" db01.vm.network "private_network", ip: "192.168.56.25" db01.vm.provision "shell", path: "mysql.sh" @@ -13,7 +13,7 @@ Vagrant.configure("2") do |config| ### Memcache vm #### config.vm.define "mc01" do |mc01| - mc01.vm.box = "jacobw/fedora35-arm64" + mc01.vm.box = "bandit145/centos_stream9_arm" mc01.vm.hostname = "mc01" mc01.vm.network "private_network", ip: "192.168.56.24" mc01.vm.provision "shell", path: "memcache.sh" @@ -21,7 +21,7 @@ Vagrant.configure("2") do |config| ### RabbitMQ vm #### config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "jacobw/fedora35-arm64" + rmq01.vm.box = "bandit145/centos_stream9_arm" rmq01.vm.hostname = "rmq01" rmq01.vm.network "private_network", ip: "192.168.56.23" rmq01.vm.provision "shell", path: "rabbitmq.sh" @@ -29,7 +29,7 @@ Vagrant.configure("2") do |config| ### tomcat vm ### config.vm.define "app01" do |app01| - app01.vm.box = "jacobw/fedora35-arm64" + app01.vm.box = "bandit145/centos_stream9_arm" app01.vm.hostname = "app01" app01.vm.network "private_network", ip: "192.168.56.22" app01.vm.provision "shell", path: "tomcat.sh" diff --git a/vagrant/Automated_provisioning_MacOSM1/memcache.sh b/vagrant/Automated_provisioning_MacOSM1/memcache.sh index 86554fb72..8c4a33838 100644 --- a/vagrant/Automated_provisioning_MacOSM1/memcache.sh +++ b/vagrant/Automated_provisioning_MacOSM1/memcache.sh @@ -1,16 +1,13 @@ #!/bin/bash -mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -yum clean all -#yum update -sudo yum install epel-release -y -sudo yum install memcached -y +sudo dnf install epel-release -y +sudo dnf install memcached -y sudo systemctl start memcached sudo systemctl enable memcached sudo systemctl status memcached -firewall-cmd --add-port=11211/tcp --permanent -firewall-cmd --reload -sed -i 's/OPTIONS="-l 127.0.0.1"/OPTIONS=""/' /etc/sysconfig/memcached +sed -i 's/127.0.0.1/0.0.0.0/g' /etc/sysconfig/memcached sudo systemctl restart memcached - +firewall-cmd --add-port=11211/tcp +firewall-cmd --runtime-to-permanent +firewall-cmd --add-port=11111/udp +firewall-cmd --runtime-to-permanent sudo memcached -p 11211 -U 11111 -u memcached -d diff --git a/vagrant/Automated_provisioning_MacOSM1/mysql.sh b/vagrant/Automated_provisioning_MacOSM1/mysql.sh index d1e9b23cc..9beee3777 100644 --- a/vagrant/Automated_provisioning_MacOSM1/mysql.sh +++ b/vagrant/Automated_provisioning_MacOSM1/mysql.sh @@ -1,23 +1,18 @@ #!/bin/bash -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -#sudo yum update -y DATABASE_PASS='admin123' -#sudo yum install epel-release -y +sudo yum update -y +sudo yum install epel-release -y sudo yum install git zip unzip -y sudo yum install mariadb-server -y # starting & enabling mariadb-server - sudo systemctl start mariadb sudo systemctl enable mariadb cd /tmp/ git clone -b main https://github.com/hkhcoder/vprofile-project.git #restore the dump file for the application sudo mysqladmin -u root password "$DATABASE_PASS" -#sudo mysql -u root -p"$DATABASE_PASS" -e "UPDATE mysql.user SET Password=PASSWORD('$DATABASE_PASS') WHERE User='root'" sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1')" sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.user WHERE User=''" sudo mysql -u root -p"$DATABASE_PASS" -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'" @@ -33,11 +28,9 @@ sudo systemctl restart mariadb #starting the firewall and allowing the mariadb to access from port no. 3306 -#sudo systemctl start firewalld -#sudo systemctl enable firewalld -#sudo firewall-cmd --get-active-zones -#sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent -#sudo firewall-cmd --reload -sudo systemctl stop firewalld -sudo systemctl disable firewalld +sudo systemctl start firewalld +sudo systemctl enable firewalld +sudo firewall-cmd --get-active-zones +sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent +sudo firewall-cmd --reload sudo systemctl restart mariadb diff --git a/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh b/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh index b37e17c9c..276aa53df 100644 --- a/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh +++ b/vagrant/Automated_provisioning_MacOSM1/rabbitmq.sh @@ -1,29 +1,18 @@ #!/bin/bash -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -#sudo yum update -y -echo "SElinux changes." -sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config -setenforce 0 -echo -echo -curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash -sudo yum clean all -sudo yum makecache -sudo yum install erlang -y -curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash -sudo yum install rabbitmq-server -y -rpm -qi rabbitmq-server -systemctl start rabbitmq-server +sudo yum install epel-release -y +sudo yum update -y +sudo yum install wget -y +cd /tmp/ +dnf -y install centos-release-rabbitmq-38 + dnf --enablerepo=centos-rabbitmq-38 -y install rabbitmq-server + systemctl enable --now rabbitmq-server + firewall-cmd --add-port=5672/tcp + firewall-cmd --runtime-to-permanent +sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server sudo systemctl status rabbitmq-server sudo sh -c 'echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config' sudo rabbitmqctl add_user test test sudo rabbitmqctl set_user_tags test administrator -firewall-cmd --add-port=5671/tcp --permanent -firewall-cmd --add-port=5672/tcp --permanent -firewall-cmd --reload +rabbitmqctl set_permissions -p / test ".*" ".*" ".*" sudo systemctl restart rabbitmq-server -nohup sleep 30 && reboot & -echo "going to reboot now" diff --git a/vagrant/Automated_provisioning_MacOSM1/tomcat.sh b/vagrant/Automated_provisioning_MacOSM1/tomcat.sh index d337effd1..dd78a8cfd 100644 --- a/vagrant/Automated_provisioning_MacOSM1/tomcat.sh +++ b/vagrant/Automated_provisioning_MacOSM1/tomcat.sh @@ -1,10 +1,7 @@ -sudo mv /etc/yum.repos.d/fedora-updates.repo /tmp/ -sudo mv /etc/yum.repos.d/fedora-updates-modular.repo /tmp/ -sudo yum clean all -#sudo yum update -TOMURL="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz" -yum install java-11-openjdk java-11-openjdk-devel -y -yum install git maven wget -y +#!/bin/bash +TOMURL="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz" +dnf -y install java-17-openjdk java-17-openjdk-devel +dnf install git wget rsync -y cd /tmp/ wget $TOMURL -O tomcatbin.tar.gz EXTOUT=`tar xzvf tomcatbin.tar.gz` @@ -49,15 +46,22 @@ EOT systemctl daemon-reload systemctl start tomcat systemctl enable tomcat +cd /tmp/ +wget https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip +unzip apache-maven-3.9.9-bin.zip +cp -r apache-maven-3.9.9 /usr/local/maven3.9 +export MAVEN_OPTS="-Xmx512m" -git clone -b main https://github.com/hkhcoder/vprofile-project.git +git clone -b local https://github.com/hkhcoder/vprofile-project.git cd vprofile-project -mvn install +/usr/local/maven3.9/bin/mvn install systemctl stop tomcat -sleep 60 +sleep 20 rm -rf /usr/local/tomcat/webapps/ROOT* cp target/vprofile-v2.war /usr/local/tomcat/webapps/ROOT.war systemctl start tomcat -firewall-cmd --add-port=8080/tcp --permanent -firewall-cmd --reload +sleep 20 +systemctl stop firewalld +systemctl disable firewalld +#cp /vagrant/application.properties /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/application.properties systemctl restart tomcat diff --git a/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh b/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh index 2dc18b759..276aa53df 100644 --- a/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh +++ b/vagrant/Automated_provisioning_WinMacIntel/rabbitmq.sh @@ -14,4 +14,5 @@ sudo systemctl status rabbitmq-server sudo sh -c 'echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config' sudo rabbitmqctl add_user test test sudo rabbitmqctl set_user_tags test administrator +rabbitmqctl set_permissions -p / test ".*" ".*" ".*" sudo systemctl restart rabbitmq-server diff --git a/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh b/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh index d850df030..3420a184e 100644 --- a/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh +++ b/vagrant/Automated_provisioning_WinMacIntel/tomcat.sh @@ -1,6 +1,7 @@ -TOMURL="https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.75/bin/apache-tomcat-9.0.75.tar.gz" -dnf -y install java-11-openjdk java-11-openjdk-devel -dnf install git maven wget -y +#!/bin/bash +TOMURL="https://archive.apache.org/dist/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz" +dnf -y install java-17-openjdk java-17-openjdk-devel +dnf install git wget -y cd /tmp/ wget $TOMURL -O tomcatbin.tar.gz EXTOUT=`tar xzvf tomcatbin.tar.gz` @@ -45,10 +46,15 @@ EOT systemctl daemon-reload systemctl start tomcat systemctl enable tomcat +cd /tmp/ +wget https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip +unzip apache-maven-3.9.9-bin.zip +cp -r apache-maven-3.9.9 /usr/local/maven3.9 +export MAVEN_OPTS="-Xmx512m" -git clone -b main https://github.com/hkhcoder/vprofile-project.git +git clone -b local https://github.com/hkhcoder/vprofile-project.git cd vprofile-project -mvn install +/usr/local/maven3.9/bin/mvn install systemctl stop tomcat sleep 20 rm -rf /usr/local/tomcat/webapps/ROOT* diff --git a/vagrant/Manual_provisioning_MacOSM1/Vagrantfile b/vagrant/Manual_provisioning_MacOSM1/Vagrantfile index 8994972b6..66562416a 100644 --- a/vagrant/Manual_provisioning_MacOSM1/Vagrantfile +++ b/vagrant/Manual_provisioning_MacOSM1/Vagrantfile @@ -4,7 +4,7 @@ Vagrant.configure("2") do |config| ### DB vm #### config.vm.define "db01" do |db01| - db01.vm.box = "jacobw/fedora35-arm64" + db01.vm.box = "bandit145/centos_stream9_arm" db01.vm.hostname = "db01" db01.vm.network "private_network", ip: "192.168.56.25" db01.vm.provider "vmware_desktop" do |vmware| @@ -15,7 +15,7 @@ Vagrant.configure("2") do |config| ### Memcache vm #### config.vm.define "mc01" do |mc01| - mc01.vm.box = "jacobw/fedora35-arm64" + mc01.vm.box = "bandit145/centos_stream9_arm" mc01.vm.hostname = "mc01" mc01.vm.network "private_network", ip: "192.168.56.24" mc01.vm.provider "vmware_desktop" do |vmware| @@ -26,7 +26,7 @@ Vagrant.configure("2") do |config| ### RabbitMQ vm #### config.vm.define "rmq01" do |rmq01| - rmq01.vm.box = "jacobw/fedora35-arm64" + rmq01.vm.box = "bandit145/centos_stream9_arm" rmq01.vm.hostname = "rmq01" rmq01.vm.network "private_network", ip: "192.168.56.23" rmq01.vm.provider "vmware_desktop" do |vmware| @@ -37,7 +37,7 @@ Vagrant.configure("2") do |config| ### tomcat vm ### config.vm.define "app01" do |app01| - app01.vm.box = "jacobw/fedora35-arm64" + app01.vm.box = "bandit145/centos_stream9_arm" app01.vm.hostname = "app01" app01.vm.network "private_network", ip: "192.168.56.22" app01.vm.provider "vmware_desktop" do |vb| diff --git a/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf b/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf index 25ac98149..9a4d8394f 100644 Binary files a/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf and b/vagrant/Manual_provisioning_MacOSM1/VprofileProjectSetupMacM1M2.pdf differ diff --git a/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf b/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf index 52f5e10a8..2b333120c 100644 Binary files a/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf and b/vagrant/Manual_provisioning_WinMacIntel/VprofileProjectSetupWindowsAndMacIntel.pdf differ