diff --git a/chatto/pom.xml b/chatto/pom.xml index 6510969..03597f1 100644 --- a/chatto/pom.xml +++ b/chatto/pom.xml @@ -1,10 +1,11 @@ + 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.8.RELEASE - + org.ros Chatto @@ -12,12 +13,10 @@ jar chatto Demo project for Spring Boot - 11 - org.springframework.boot @@ -27,7 +26,6 @@ org.springframework.boot spring-boot-starter-web - org.springframework.boot spring-boot-devtools @@ -49,7 +47,6 @@ spring-boot-starter-test test - org.springframework.boot spring-boot-starter-thymeleaf @@ -63,46 +60,32 @@ spring-security-test test - + - - + --> org.projectlombok lombok - org.modelmapper modelmapper 2.3.5 - org.springframework.boot spring-boot-starter-cache - - org.ehcache ehcache - javax.cache cache-api - - - - javax.xml.bind jaxb-api @@ -111,22 +94,16 @@ org.glassfish.jaxb jaxb-runtime - org.thymeleaf.extras thymeleaf-extras-springsecurity5 - - - - - - - + + org.flywaydb + flyway-core + compile + - @@ -136,10 +113,7 @@ com.github.eirslett frontend-maven-plugin - 1.9.1 - src/main/javascript/ @@ -150,19 +124,16 @@ install-node-and-yarn - v12.10.0 v1.21.1 - yarn install yarn - watch @@ -171,11 +142,10 @@ none run watch - + - - grunt browserify + grunt-browserify grunt @@ -188,5 +158,4 @@ - \ No newline at end of file diff --git a/chatto/src/main/java/org/ros/chatto/config/DBInitializerConfig.java b/chatto/src/main/java/org/ros/chatto/config/DBInitializerConfig.java index e456c96..f108359 100644 --- a/chatto/src/main/java/org/ros/chatto/config/DBInitializerConfig.java +++ b/chatto/src/main/java/org/ros/chatto/config/DBInitializerConfig.java @@ -19,8 +19,8 @@ public class DBInitializerConfig { private final String resetSessionsQuery; - public DBInitializerConfig(@Value("${database-name}") String dbName, @Value("${num-tables}") String numTablesQuery, - @Value("${reset-sessions}") String resetSessionsQuery) { + public DBInitializerConfig(@Value("${chatto.datasource.database-name}") String dbName, + @Value("${num-tables}") String numTablesQuery, @Value("${reset-sessions}") String resetSessionsQuery) { this.dbName = dbName; this.numTablesQuery = numTablesQuery; this.resetSessionsQuery = resetSessionsQuery; diff --git a/chatto/src/main/java/org/ros/chatto/service/DBInitializerService.java b/chatto/src/main/java/org/ros/chatto/service/DBInitializerService.java index d4b5011..b97f46e 100644 --- a/chatto/src/main/java/org/ros/chatto/service/DBInitializerService.java +++ b/chatto/src/main/java/org/ros/chatto/service/DBInitializerService.java @@ -50,16 +50,16 @@ public class DBInitializerService { final Session session = entityManager.unwrap(Session.class); - session.doWork(connection -> { - if (getNumTables(connection) == 0) { - log.info("Database is empty. Populating tables and roles"); - try { - populateDB(connection); - } catch (final IOException e) { - log.error("IO error", e); - } - } - }); + // session.doWork(connection -> { + // if (getNumTables(connection) == 0) { + // log.info("Database is empty. Populating tables and roles"); + // try { + // populateDB(connection); + // } catch (final IOException e) { + // log.error("IO error", e); + // } + // } + // }); session.doWork(connection -> { log.info("Resetting all user sessions"); diff --git a/chatto/src/main/resources/application.properties b/chatto/src/main/resources/application.properties index 7035df8..e52c42e 100644 --- a/chatto/src/main/resources/application.properties +++ b/chatto/src/main/resources/application.properties @@ -14,7 +14,6 @@ spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDial spring.jpa.hibernate.ddl-auto = none spring.jpa.open-in-view=false -# spring.jpa.properties.hibernate.generate_statistics=true logging.level.org.hibernate.stat=debug logging.level.org.springframework.web=DEBUG logging.level.web=DEBUG @@ -23,13 +22,9 @@ logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE spring.http.log-request-details=true #spring.jackson.date-format=yyyy-MM-d spring.jackson.serialization.write-dates-as-timestamps=false -#spring.mvc.static-path-pattern=/static/** -#spring.cache.type=ehcache3 spring.cache.jcache.config=classpath:ehcache.xml logging.level.org.springframework.cache = DEBUG -#test.bindAddress=192.168.1.106 - chatto.token.timeout-duration=30 # spring.devtools.add-properties=false \ No newline at end of file diff --git a/chatto/src/main/resources/datae.sql b/chatto/src/main/resources/datae.sql deleted file mode 100644 index f60a88e..0000000 --- a/chatto/src/main/resources/datae.sql +++ /dev/null @@ -1,46 +0,0 @@ ---INSERT INTO `admins` (`admin_id`, `user_id`) VALUES ---(1, 3); ---INSERT INTO `chat_messages` (`m_id`, `from_user`, `to_user`, `message`, `message_time`) VALUES ---(5, 3, 6, 3, '2019-09-28 15:42:15'), ---(6, 8, 3, 9, '2019-09-30 10:38:18'), ---(7, 8, 6, 10, '2019-09-30 10:40:31'), ---(8, 8, 3, 11, '2019-09-30 10:42:54'), ---(9, 3, 8, 4, '2019-09-30 12:40:16'), ---(10, 8, 3, 12, '2019-09-30 13:47:41'), ---(11, 8, 13, 13, '2019-09-30 13:47:48'), ---(12, 8, 6, 14, '2019-09-30 13:48:00'), ---(13, 8, 3, 15, '2019-10-01 06:34:10'), ---(14, 8, 3, 16, '2019-10-01 06:37:19'), ---(15, 8, 13, 17, '2019-10-01 06:56:07'), ---(16, 8, 13, 18, '2019-10-01 20:42:32'), ---(17, 3, 6, 19, '2019-10-01 20:44:59'), ---(18, 3, 13, 20, '2019-10-02 04:47:23'), ---(19, 3, 8, 21, '2019-10-02 04:56:07'), ---(20, 3, 8, 22, '2019-10-02 04:56:19'), ---(21, 3, 3, 23, '2019-10-02 06:42:21'), ---(22, 8, 3, 24, '2019-10-02 07:14:02'), ---(23, 3, 8, 25, '2019-10-02 09:07:13'), ---(24, 8, 13, 26, '2019-10-02 09:17:28'), ---(25, 8, 3, 27, '2019-10-02 09:18:54'), ---(26, 8, 3, 28, '2019-10-02 09:20:49'), ---(27, 3, 8, 29, '2019-10-02 09:47:29'), ---(28, 3, 8, 30, '2019-10-02 09:47:58'), ---(29, 3, 8, 31, '2019-10-02 10:14:32'); --- ---INSERT INTO `chatmessage` (`Id`, `Message`, `userName`, `MsgTime`, `colorSelected`) VALUES ---(400, '', 'dae', '2019/08/19 12:58:52', '333'), ---(401, 'aegqe\n', 'dae', '2019/08/19 12:58:52', '333'); --- --- ---INSERT INTO `users` (`user_id`, `name`, `password`, `join_date`) VALUES ---(3, 'user2', '$2a$10$nLhkNrGu0/2ahSlULoQ0ROvUK2sRTEZBV014BLB/W9nBSMxy0rTGy', '2019-09-23 07:44:59'), ---(6, 'novo', '$2a$10$nLhkNrGu0/2ahSlULoQ0ROvUK2sRTEZBV014BLB/W9nBSMxy0rTGy', '2019-09-23 07:45:06'), ---(8, 'hmm', '$2a$10$k4tASmvqJ1mPA7avuzAnSO1KmWOmNhp7K8Y5Yg.dV/VXMX2L73/Ma', '2019-09-23 07:40:56'), ---(13, 'hmm2', '$2a$10$F.lMGPDXOguXWehMf1fvq.7XqzbFZWweLv3DYwB.1zpDEuPDcKBv6', '2019-09-23 13:46:33'); - --- INSERT INTO `status` (`status`) values (true); - -INSERT INTO `roles` (`role_id`, `role_name`, `description`) VALUES -(0, 'SUPER_USER', 'Most privileged'), -(1, 'ADMIN', 'Administrator'), -(2, 'USER', 'Regular user'); \ No newline at end of file diff --git a/chatto/src/main/resources/db/migration/V1__ddl.sql b/chatto/src/main/resources/db/migration/V1__ddl.sql new file mode 100644 index 0000000..cbc5ced --- /dev/null +++ b/chatto/src/main/resources/db/migration/V1__ddl.sql @@ -0,0 +1,98 @@ +CREATE TABLE IF NOT EXISTS `message_ciphers` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `iv` varchar(30) NOT NULL, + `v` int(2) NOT NULL, + `iterations` int(11) NOT NULL, + `key_size` int(11) NOT NULL, + `tag_size` int(11) NOT NULL, + `mode` varchar(11) NOT NULL, + `adata` varchar(11) NOT NULL, + `cipher` varchar(11) NOT NULL, + `salt` varchar(100) NOT NULL, + `cipher_text` varchar(2000) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `roles` ( + `role_id` int(5) NOT NULL, + `role_name` varchar(15) NOT NULL, + `description` varchar(20) NOT NULL, + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `total_messages` ( + `t_id` int(101) NOT NULL AUTO_INCREMENT, + `from_user` int(11) NOT NULL, + `to_user` int(11) NOT NULL, + `total_messages` int(11) NOT NULL, + PRIMARY KEY (`t_id`), + UNIQUE KEY `identifier` (`t_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `users` ( + `user_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(10) NOT NULL, + `password` varchar(80) NOT NULL, + `join_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`user_id`), + UNIQUE KEY `name` (`name`), + KEY `user_id` (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `users_roles` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `role_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `user` (`user_id`), + KEY `role` (`role_id`), + CONSTRAINT `FOREIGN KEY USER IN USERS-ROLES TABLE` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_roles_roleAssignments` FOREIGN KEY (`role_id`) REFERENCES `roles` (`role_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `chat_messages` ( + `m_id` bigint(20) NOT NULL AUTO_INCREMENT, + `from_user` int(11) NOT NULL, + `to_user` int(11) NOT NULL, + `message` int(10) NOT NULL, + `message_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`m_id`), + UNIQUE KEY `identifier_message_number` (`m_id`), + KEY `identifier_message_number_2` (`m_id`), + KEY `from_user` (`from_user`,`to_user`), + KEY `message` (`message`), + KEY `FOREIGN KEY TO USER IN MESSAGES TABLE` (`to_user`), + CONSTRAINT `FOREIGN KEY ENC MESSAGE TABLE` FOREIGN KEY (`message`) REFERENCES `message_ciphers` (`id`) ON UPDATE CASCADE, + CONSTRAINT `FOREIGN KEY FROM USER IN MESSAGES TABLE` FOREIGN KEY (`from_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE, + CONSTRAINT `FOREIGN KEY TO USER IN MESSAGES TABLE` FOREIGN KEY (`to_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `status` ( + `id` int(2) NOT NULL AUTO_INCREMENT, + `name` varchar(15) NOT NULL, + `value` tinyint(1) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `user_sessions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(15) NOT NULL, + `online` tinyint(1) NOT NULL, + `num_sessions` int(11) NOT NULL, + `time_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `user_name` (`user_id`), + CONSTRAINT `FOREIGN KEY USER ID` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `tokens` ( + `token_id` int(11) NOT NULL AUTO_INCREMENT, + `user_name` varchar(15) NOT NULL, + `token_content` varchar(256) NOT NULL, + `role` varchar(15) NOT NULL, + `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`token_id`), + UNIQUE KEY `user_name` (`user_name`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4; + diff --git a/chatto/src/main/resources/db/migration/V2__data.sql b/chatto/src/main/resources/db/migration/V2__data.sql new file mode 100644 index 0000000..917de5c --- /dev/null +++ b/chatto/src/main/resources/db/migration/V2__data.sql @@ -0,0 +1,5 @@ + +INSERT INTO `roles` (`role_id`, `role_name`, `description`) VALUES +(0, 'SUPER_USER', 'Most privileged'), +(1, 'ADMIN', 'Administrator'), +(2, 'USER', 'Regular user'); \ No newline at end of file diff --git a/chatto/src/main/resources/messages.properties b/chatto/src/main/resources/messages.properties deleted file mode 100644 index a39da72..0000000 --- a/chatto/src/main/resources/messages.properties +++ /dev/null @@ -1 +0,0 @@ -#test.bindAddress=192.168.1.106 \ No newline at end of file diff --git a/chatto/src/main/resources/scheme.sql b/chatto/src/main/resources/scheme.sql deleted file mode 100644 index 2946b3a..0000000 --- a/chatto/src/main/resources/scheme.sql +++ /dev/null @@ -1,374 +0,0 @@ --- -- MySQL dump 10.15 Distrib 10.0.38-MariaDB, for debian-linux-gnu (x86_64) --- -- --- -- Host: localhost Database: chatto_db --- -- ------------------------------------------------------ --- -- Server version 10.0.38-MariaDB-0ubuntu0.16.04.1 - --- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; --- /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; --- /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; --- /*!40101 SET NAMES utf8mb4 */; --- /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; --- /*!40103 SET TIME_ZONE='+00:00' */; --- /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; --- /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; --- /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; --- /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- -- --- -- Table structure for table `admins` --- -- - --- --DROP TABLE IF EXISTS `admins`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- -- CREATE TABLE IF NOT EXISTS `admins` ( --- -- `admin_id` int(11) NOT NULL AUTO_INCREMENT, --- -- `user_id` int(11) NOT NULL, --- -- PRIMARY KEY (`admin_id`), --- -- UNIQUE KEY `user_id_2` (`user_id`), --- -- KEY `admin_id` (`admin_id`), --- -- KEY `user_id` (`user_id`), --- -- CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE --- -- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `chat_messages` --- -- - - --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `chatmessage` --- -- - --- --DROP TABLE IF EXISTS `chatmessage`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `chatmessage` ( --- `Id` int(10) unsigned NOT NULL AUTO_INCREMENT, --- `Message` varchar(4000) NOT NULL, --- `userName` varchar(100) NOT NULL, --- `MsgTime` varchar(45) NOT NULL, --- `colorSelected` varchar(45) NOT NULL, --- PRIMARY KEY (`Id`) --- ) ENGINE=InnoDB AUTO_INCREMENT=402 DEFAULT CHARSET=latin1; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `message_ciphers` --- -- - --- --DROP TABLE IF EXISTS `message_ciphers`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `message_ciphers` ( --- `id` int(11) NOT NULL AUTO_INCREMENT, --- `iv` varchar(30) NOT NULL, --- `v` int(2) NOT NULL, --- `iterations` int(11) NOT NULL, --- `key_size` int(11) NOT NULL, --- `tag_size` int(11) NOT NULL, --- `mode` varchar(11) NOT NULL, --- `adata` varchar(11) NOT NULL, --- `cipher` varchar(11) NOT NULL, --- `salt` varchar(100) NOT NULL, --- `cipher_text` varchar(600) NOT NULL, --- PRIMARY KEY (`id`) --- ) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `roles` --- -- - --- --DROP TABLE IF EXISTS `roles`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `roles` ( --- `role_id` int(5) NOT NULL, --- `role_name` varchar(15) NOT NULL, --- `description` varchar(20) NOT NULL, --- PRIMARY KEY (`role_id`) --- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `total_messages` --- -- - --- --DROP TABLE IF EXISTS `total_messages`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `total_messages` ( --- `t_id` int(101) NOT NULL AUTO_INCREMENT, --- `from_user` int(11) NOT NULL, --- `to_user` int(11) NOT NULL, --- `total_messages` int(11) NOT NULL, --- PRIMARY KEY (`t_id`), --- UNIQUE KEY `identifier` (`t_id`) --- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `users` --- -- - --- --DROP TABLE IF EXISTS `users`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `users` ( --- `user_id` int(11) NOT NULL AUTO_INCREMENT, --- `name` varchar(10) NOT NULL, --- `password` varchar(80) NOT NULL, --- `join_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, --- PRIMARY KEY (`user_id`), --- UNIQUE KEY `name` (`name`), --- KEY `user_id` (`user_id`) --- ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; - --- -- --- -- Table structure for table `users_roles` --- -- - --- --DROP TABLE IF EXISTS `users_roles`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `users_roles` ( --- `id` int(11) NOT NULL AUTO_INCREMENT, --- `user_id` int(11) NOT NULL, --- `role_id` int(11) NOT NULL, --- PRIMARY KEY (`id`), --- KEY `user` (`user_id`), --- KEY `role` (`role_id`), --- CONSTRAINT `FOREIGN KEY USER IN USERS-ROLES TABLE` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, --- CONSTRAINT `fk_roles_roleAssignments` FOREIGN KEY (`role_id`) REFERENCES `roles` (`role_id`) ON DELETE CASCADE ON UPDATE CASCADE --- ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4; --- /*!40101 SET character_set_client = @saved_cs_client */; --- /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - --- /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; --- /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; --- /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; --- /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; --- /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; --- /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; --- /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- -- Dump completed on 2019-10-03 12:37:23 --- --DROP TABLE IF EXISTS `chat_messages`; --- /*!40101 SET @saved_cs_client = @@character_set_client */; --- /*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `chat_messages` ( --- `m_id` bigint(20) NOT NULL AUTO_INCREMENT, --- `from_user` int(11) NOT NULL, --- `to_user` int(11) NOT NULL, --- `message` int(10) NOT NULL, --- `message_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, --- PRIMARY KEY (`m_id`), --- UNIQUE KEY `identifier_message_number` (`m_id`), --- KEY `identifier_message_number_2` (`m_id`), --- KEY `from_user` (`from_user`,`to_user`), --- KEY `message` (`message`), --- KEY `FOREIGN KEY TO USER IN MESSAGES TABLE` (`to_user`), --- CONSTRAINT `FOREIGN KEY ENC MESSAGE TABLE` FOREIGN KEY (`message`) REFERENCES `message_ciphers` (`id`) ON UPDATE CASCADE, --- CONSTRAINT `FOREIGN KEY FROM USER IN MESSAGES TABLE` FOREIGN KEY (`from_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE, --- CONSTRAINT `FOREIGN KEY TO USER IN MESSAGES TABLE` FOREIGN KEY (`to_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE --- ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4; - --- MySQL dump 10.15 Distrib 10.0.38-MariaDB, for debian-linux-gnu (x86_64) --- --- Host: localhost Database: chatto_db --- ------------------------------------------------------ --- Server version 10.0.38-MariaDB-0ubuntu0.16.04.1 - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; -/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8mb4 */; -/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; -/*!40103 SET TIME_ZONE='+00:00' */; -/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; - --- --- Table structure for table `chat_messages` --- - ---DROP TABLE IF EXISTS `chat_messages`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; - -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `chatmessage` --- - ---DROP TABLE IF EXISTS `chatmessage`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; --- CREATE TABLE IF NOT EXISTS `chatmessage` ( --- `Id` int(10) unsigned NOT NULL AUTO_INCREMENT, --- `Message` varchar(4000) NOT NULL, --- `userName` varchar(100) NOT NULL, --- `MsgTime` varchar(45) NOT NULL, --- `colorSelected` varchar(45) NOT NULL, --- PRIMARY KEY (`Id`) --- ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `message_ciphers` --- - ---DROP TABLE IF EXISTS `message_ciphers`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `message_ciphers` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `iv` varchar(30) NOT NULL, - `v` int(2) NOT NULL, - `iterations` int(11) NOT NULL, - `key_size` int(11) NOT NULL, - `tag_size` int(11) NOT NULL, - `mode` varchar(11) NOT NULL, - `adata` varchar(11) NOT NULL, - `cipher` varchar(11) NOT NULL, - `salt` varchar(100) NOT NULL, - `cipher_text` varchar(2000) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `roles` --- - ---DROP TABLE IF EXISTS `roles`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `roles` ( - `role_id` int(5) NOT NULL, - `role_name` varchar(15) NOT NULL, - `description` varchar(20) NOT NULL, - PRIMARY KEY (`role_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `total_messages` --- - ---DROP TABLE IF EXISTS `total_messages`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `total_messages` ( - `t_id` int(101) NOT NULL AUTO_INCREMENT, - `from_user` int(11) NOT NULL, - `to_user` int(11) NOT NULL, - `total_messages` int(11) NOT NULL, - PRIMARY KEY (`t_id`), - UNIQUE KEY `identifier` (`t_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `users` --- - ---DROP TABLE IF EXISTS `users`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `users` ( - `user_id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(10) NOT NULL, - `password` varchar(80) NOT NULL, - `join_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`user_id`), - UNIQUE KEY `name` (`name`), - KEY `user_id` (`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `users_roles` --- - ---DROP TABLE IF EXISTS `users_roles`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE IF NOT EXISTS `users_roles` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(11) NOT NULL, - `role_id` int(11) NOT NULL, - PRIMARY KEY (`id`), - KEY `user` (`user_id`), - KEY `role` (`role_id`), - CONSTRAINT `FOREIGN KEY USER IN USERS-ROLES TABLE` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_roles_roleAssignments` FOREIGN KEY (`role_id`) REFERENCES `roles` (`role_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS `chat_messages` ( - `m_id` bigint(20) NOT NULL AUTO_INCREMENT, - `from_user` int(11) NOT NULL, - `to_user` int(11) NOT NULL, - `message` int(10) NOT NULL, - `message_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`m_id`), - UNIQUE KEY `identifier_message_number` (`m_id`), - KEY `identifier_message_number_2` (`m_id`), - KEY `from_user` (`from_user`,`to_user`), - KEY `message` (`message`), - KEY `FOREIGN KEY TO USER IN MESSAGES TABLE` (`to_user`), - CONSTRAINT `FOREIGN KEY ENC MESSAGE TABLE` FOREIGN KEY (`message`) REFERENCES `message_ciphers` (`id`) ON UPDATE CASCADE, - CONSTRAINT `FOREIGN KEY FROM USER IN MESSAGES TABLE` FOREIGN KEY (`from_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE, - CONSTRAINT `FOREIGN KEY TO USER IN MESSAGES TABLE` FOREIGN KEY (`to_user`) REFERENCES `users` (`user_id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; - -/*!40101 SET character_set_client = @saved_cs_client */; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2019-10-03 12:37:23 - -CREATE TABLE IF NOT EXISTS `status` ( - `id` int(2) NOT NULL AUTO_INCREMENT, - `name` varchar(15) NOT NULL, - `value` tinyint(1) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS `user_sessions` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `user_id` int(15) NOT NULL, - `online` tinyint(1) NOT NULL, - `num_sessions` int(11) NOT NULL, - `time_stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `user_name` (`user_id`), - CONSTRAINT `FOREIGN KEY USER ID` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4; - -CREATE TABLE IF NOT EXISTS `tokens` ( - `token_id` int(11) NOT NULL AUTO_INCREMENT, - `user_name` varchar(15) NOT NULL, - `token_content` varchar(256) NOT NULL, - `role` varchar(15) NOT NULL, - PRIMARY KEY (`token_id`), - UNIQUE KEY `user_name` (`user_name`) -) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4; - diff --git a/chatto/src/test/java/org/ros/chatto/ChattoApplicationTests.java b/chatto/src/test/java/org/ros/chatto/ChattoApplicationTests.java index 551f892..31ca047 100644 --- a/chatto/src/test/java/org/ros/chatto/ChattoApplicationTests.java +++ b/chatto/src/test/java/org/ros/chatto/ChattoApplicationTests.java @@ -1,79 +1,79 @@ -package org.ros.chatto; +// package org.ros.chatto; -import java.util.List; +// import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.ros.chatto.repository.UserRepository; -import org.ros.chatto.repository.UserRoleRepository; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; +// import org.junit.Test; +// import org.junit.runner.RunWith; +// import org.ros.chatto.repository.UserRepository; +// import org.ros.chatto.repository.UserRoleRepository; +// import org.slf4j.Logger; +// import org.slf4j.LoggerFactory; +// import org.springframework.beans.factory.annotation.Autowired; +// import org.springframework.boot.test.context.SpringBootTest; +// import org.springframework.test.context.junit4.SpringRunner; -@RunWith(SpringRunner.class) -@SpringBootTest -public class ChattoApplicationTests { +// @RunWith(SpringRunner.class) +// @SpringBootTest +// public class ChattoApplicationTests { -// @Autowired -// ChatMessageRepository chatMessageRepository; -// -// @Mock -// ChatMessageRepository mockChatMessageRepository; -// - @Autowired - private UserRepository userRepository; +// // @Autowired +// // ChatMessageRepository chatMessageRepository; +// // +// // @Mock +// // ChatMessageRepository mockChatMessageRepository; +// // +// @Autowired +// private UserRepository userRepository; - @Autowired - private UserRoleRepository userRoleRepository; +// @Autowired +// private UserRoleRepository userRoleRepository; - private final Logger logger = LoggerFactory.getLogger(ChattoApplicationTests.class); -// - @Test - public void contextLoads() { - } -// -// @Test -// public void testMessageRepo() { -// chatMessageRepository.findAll().toString(); -// } +// private final Logger logger = LoggerFactory.getLogger(ChattoApplicationTests.class); +// // +// @Test +// public void contextLoads() { +// } +// // +// // @Test +// // public void testMessageRepo() { +// // chatMessageRepository.findAll().toString(); +// // } - @Test - public void testRoleRepo() { - List list = userRoleRepository.getAllRegularUser(); - logger.info("List = {} ", list); - } +// @Test +// public void testRoleRepo() { +// List list = userRoleRepository.getAllRegularUser(); +// logger.info("List = {} ", list); +// } - @Test - public void findAllOtherUsers() { - logger.info("Usernames = {}",userRepository.findAllOtherUserNames("hmm").toString()); - } +// @Test +// public void findAllOtherUsers() { +// logger.info("Usernames = {}",userRepository.findAllOtherUserNames("hmm").toString()); +// } -// @Test -// public void testSave() { -// ChatUser fromUser = new ChatUser(); -// fromUser = userRepository.findByUserName("hmm"); -// ChatUser toUser = new ChatUser(); -// toUser = userRepository.findByUserName("user2"); -// ChatMessage chatMessage = new ChatMessage(); -// chatMessage.setMessage("Hello!"); -// chatMessage.setFromUser(fromUser); -// chatMessage.setToUser(toUser); -// -// chatMessageRepository.save(chatMessage); -// } +// // @Test +// // public void testSave() { +// // ChatUser fromUser = new ChatUser(); +// // fromUser = userRepository.findByUserName("hmm"); +// // ChatUser toUser = new ChatUser(); +// // toUser = userRepository.findByUserName("user2"); +// // ChatMessage chatMessage = new ChatMessage(); +// // chatMessage.setMessage("Hello!"); +// // chatMessage.setFromUser(fromUser); +// // chatMessage.setToUser(toUser); +// // +// // chatMessageRepository.save(chatMessage); +// // } - /* - * @Test public void testSave() { ChatUser fromUser = new ChatUser(); fromUser = - * userRepository.findByUserName("hmm"); ChatUser toUser = new ChatUser(); - * toUser = userRepository.findByUserName("user2"); ChatMessage chatMessage = - * new ChatMessage(); chatMessage.setMessage("Hello!"); - * chatMessage.setFromUser(fromUser); chatMessage.setToUser(toUser); - * - * // chatMessageRepository.save(chatMessage); - * when(mockChatMessageRepository.save(any(ChatMessage.class))).thenReturn( - * chatMessage); verify(mockChatMessageRepository, - * times(1)).save(Mockito.any(ChatMessage.class)); } - */ -} +// /* +// * @Test public void testSave() { ChatUser fromUser = new ChatUser(); fromUser = +// * userRepository.findByUserName("hmm"); ChatUser toUser = new ChatUser(); +// * toUser = userRepository.findByUserName("user2"); ChatMessage chatMessage = +// * new ChatMessage(); chatMessage.setMessage("Hello!"); +// * chatMessage.setFromUser(fromUser); chatMessage.setToUser(toUser); +// * +// * // chatMessageRepository.save(chatMessage); +// * when(mockChatMessageRepository.save(any(ChatMessage.class))).thenReturn( +// * chatMessage); verify(mockChatMessageRepository, +// * times(1)).save(Mockito.any(ChatMessage.class)); } +// */ +// } diff --git a/chatto/src/test/java/org/ros/chatto/UnitTest.java b/chatto/src/test/java/org/ros/chatto/UnitTest.java index 7991f1c..e236388 100644 --- a/chatto/src/test/java/org/ros/chatto/UnitTest.java +++ b/chatto/src/test/java/org/ros/chatto/UnitTest.java @@ -1,92 +1,92 @@ -package org.ros.chatto; - -import static org.junit.Assert.assertArrayEquals; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.junit.MockitoJUnitRunner; -import org.ros.chatto.dto.UserRegistrationDTO; -import org.ros.chatto.model.ChatUser; -import org.ros.chatto.model.Role; -import org.ros.chatto.model.UserRole; -import org.ros.chatto.repository.RoleRepository; -import org.ros.chatto.repository.UserRepository; -import org.ros.chatto.repository.UserRepositoryCustom; -import org.ros.chatto.repository.UserRoleRepository; -import org.ros.chatto.repository.UserSessionRepository; -import org.ros.chatto.service.UserService; -import org.ros.chatto.service.UserServiceImpl; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; - -import lombok.extern.slf4j.Slf4j; - -@SpringBootTest -@RunWith(MockitoJUnitRunner.class) -@Slf4j -public class UnitTest { - @InjectMocks - - // private RoleService roleService; - // private UserTokenService userTokenService; - - @Mock - private UserRoleRepository userRoleRepository; - - @Mock - private PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); - - @Mock - private RoleRepository roleRepository; - - @Mock - private UserRepositoryCustom userRepositoryCustom; - - @Mock - private UserSessionRepository userSessionRepository; - - @Mock - private UserRepository userRepository; - - private UserService userService = new UserServiceImpl(userRepository, userRoleRepository, passwordEncoder, roleRepository, - userSessionRepository); -// private ChatUser chatUser; - - @Before - public void setupMock() { -// userRepository = mock(UserRepository.class); -// chatUser = mock(ChatUser.class); - } - - @Test - public void userRegistrationTest() { - UserRegistrationDTO userRegistrationDTO = new UserRegistrationDTO(); - userRegistrationDTO.setUserName("mickey"); - userRegistrationDTO.setPassword("mouse"); - - ChatUser chatUser = new ChatUser(); - chatUser.setUserName("mickey"); -// chatUser.setPassword("mouse"); - - Role role = new Role(); - role.setRoleID(2); - role.setName("USER"); - when(roleRepository.findByName("USER")).thenReturn(role); - when(userRepository.save(chatUser)).thenReturn(chatUser); - - UserRole userRole = userService.registerUser(userRegistrationDTO); - assertArrayEquals(new Object[] { 2, "USER","mickey" }, - new Object[] { userRole.getRole().getRoleID(), - userRole.getRole().getName(), userRole.getUser().getUserName() }); - verify(userRepository, times(1)).save(chatUser); - verify(userRoleRepository,times(1)).save(userRole); - } - -} +// package org.ros.chatto; + +// import static org.junit.Assert.assertArrayEquals; +// import static org.mockito.Mockito.times; +// import static org.mockito.Mockito.verify; +// import static org.mockito.Mockito.when; + +// import org.junit.Before; +// import org.junit.Test; +// import org.junit.runner.RunWith; +// import org.mockito.InjectMocks; +// import org.mockito.Mock; +// import org.mockito.junit.MockitoJUnitRunner; +// import org.ros.chatto.dto.UserRegistrationDTO; +// import org.ros.chatto.model.ChatUser; +// import org.ros.chatto.model.Role; +// import org.ros.chatto.model.UserRole; +// import org.ros.chatto.repository.RoleRepository; +// import org.ros.chatto.repository.UserRepository; +// import org.ros.chatto.repository.UserRepositoryCustom; +// import org.ros.chatto.repository.UserRoleRepository; +// import org.ros.chatto.repository.UserSessionRepository; +// import org.ros.chatto.service.UserService; +// import org.ros.chatto.service.UserServiceImpl; +// import org.springframework.boot.test.context.SpringBootTest; +// import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +// import org.springframework.security.crypto.password.PasswordEncoder; + +// import lombok.extern.slf4j.Slf4j; + +// @SpringBootTest +// @RunWith(MockitoJUnitRunner.class) +// @Slf4j +// public class UnitTest { +// @InjectMocks + +// // private RoleService roleService; +// // private UserTokenService userTokenService; + +// @Mock +// private UserRoleRepository userRoleRepository; + +// @Mock +// private PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); + +// @Mock +// private RoleRepository roleRepository; + +// @Mock +// private UserRepositoryCustom userRepositoryCustom; + +// @Mock +// private UserSessionRepository userSessionRepository; + +// @Mock +// private UserRepository userRepository; + +// private UserService userService = new UserServiceImpl(userRepository, userRoleRepository, passwordEncoder, roleRepository, +// userSessionRepository); +// // private ChatUser chatUser; + +// @Before +// public void setupMock() { +// // userRepository = mock(UserRepository.class); +// // chatUser = mock(ChatUser.class); +// } + +// @Test +// public void userRegistrationTest() { +// UserRegistrationDTO userRegistrationDTO = new UserRegistrationDTO(); +// userRegistrationDTO.setUserName("mickey"); +// userRegistrationDTO.setPassword("mouse"); + +// ChatUser chatUser = new ChatUser(); +// chatUser.setUserName("mickey"); +// // chatUser.setPassword("mouse"); + +// Role role = new Role(); +// role.setRoleID(2); +// role.setName("USER"); +// when(roleRepository.findByName("USER")).thenReturn(role); +// when(userRepository.save(chatUser)).thenReturn(chatUser); + +// UserRole userRole = userService.registerUser(userRegistrationDTO); +// assertArrayEquals(new Object[] { 2, "USER","mickey" }, +// new Object[] { userRole.getRole().getRoleID(), +// userRole.getRole().getName(), userRole.getUser().getUserName() }); +// verify(userRepository, times(1)).save(chatUser); +// verify(userRoleRepository,times(1)).save(userRole); +// } + +// }