mehmet.kirkoca 2 лет назад
Родитель
Сommit
96bd732c56

+ 2 - 2
services/formatter/index.js

@@ -1,5 +1,5 @@
 const RabbitMQListener = require('./utils/RabbitMQListener');
-const rabbitmqListener = new RabbitMQListener();
+const rabbitMQListener = new RabbitMQListener();
 
 const RabbitMQProducer = require('./utils/RabbitMQProducer');
 let rabbitMQProducer = new RabbitMQProducer();
@@ -21,7 +21,7 @@ async function formatMessage(message) {
 }
 
 (async () => {
-  await rabbitmqListener.listenToQueue('formatter', (message) => {
+  await rabbitMQListener.listenToQueue('formatter', (message) => {
     console.log('Received message:', message);
     formatMessage(message);
   });

+ 7 - 2
services/formatter/package.json

@@ -1,10 +1,11 @@
 {
-    "name": "twitter-service",
+    "name": "formatter-service",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
-        "start": "nodemon index.js"
+        "start": "nodemon index.js",
+        "test": "jest --forceExit"
     },
     "dependencies": {
         "amqplib": "^0.10.3",
@@ -12,5 +13,9 @@
     },
     "engines": {
         "node": ">=12.0.0"
+    },
+    "devDependencies": {
+        "jest": "^29.6.4",
+        "rewire": "^7.0.0"
     }
 }

+ 21 - 0
services/formatter/tests/formatter.test.js

@@ -0,0 +1,21 @@
+const rewire = require('rewire');
+const formatter = rewire('../index');
+
+describe('formatForTwitter', () => {
+  it('should format a message for Twitter', async () => {
+    const message = 'Hello, Twitter!';
+    const formatForTwitter = formatter.__get__('formatForTwitter');
+    const result = await formatForTwitter(message);
+    expect(result).toBe('message formatted for twitter: Hello, Twitter!');
+  });
+});
+
+describe('formatForLinkedin', () => {
+  it('should format a message for LinkedIn', async () => {
+    const message = 'Hello, LinkedIn!';
+    const formatForLinkedin = formatter.__get__('formatForLinkedin');
+
+    const result = await formatForLinkedin(message);
+    expect(result).toBe('message formatted for linkedin: Hello, LinkedIn!');
+  });
+});

+ 2 - 2
services/linkedin/index.js

@@ -1,8 +1,8 @@
 const RabbitMQListener = require('./utils/RabbitMQListener');
-const rabbitmqListener = new RabbitMQListener();
+const rabbitMQListener = new RabbitMQListener();
 
 (async () => {
-  await rabbitmqListener.listenToQueue('linkedin', (message) => {
+  await rabbitMQListener.listenToQueue('linkedin', (message) => {
     console.log('Received message:', message);
   });
 })();

+ 2 - 2
services/socket/index.js

@@ -3,8 +3,8 @@ const RabbitMQListener = require('./utils/RabbitMQListener');
 const EventEmitter = require('events');
 const socketEmitter = new EventEmitter();
 
-const rabbitmqListener = new RabbitMQListener();
-rabbitmqListener.listenToQueue('formattedMessages', (messages) => {
+const rabbitMQListener = new RabbitMQListener();
+rabbitMQListener.listenToQueue('formattedMessages', (messages) => {
   console.log('Received formatted Messages:', messages);
   socketEmitter.emit('formattedMessages', messages);
 });

+ 2 - 2
services/twitter/index.js

@@ -1,8 +1,8 @@
 const RabbitMQListener = require('./utils/RabbitMQListener');
-const rabbitmqListener = new RabbitMQListener();
+const rabbitMQListener = new RabbitMQListener();
 
 (async () => {
-  await rabbitmqListener.listenToQueue('twitter', (message) => {
+  await rabbitMQListener.listenToQueue('twitter', (message) => {
     console.log('Received message:', message);
   });
 })();

+ 4 - 0
services/utils/RabbitMQListener.js

@@ -7,6 +7,10 @@ class RabbitMQListener {
 
   async connect() { 
     await this.rabbitmqConnector.connect();
+  }  
+  
+  async disconnect() { 
+    await this.rabbitmqConnector.disconnect();
   }
 
   async consumeFromQueue(queueName, callback) {

+ 4 - 0
services/utils/RabbitMQProducer.js

@@ -11,6 +11,10 @@ class RabbitMQProducer {
     this.rabbitmqConnector.connect();
   }
 
+  async disconnect() { 
+    await this.rabbitmqConnector.disconnect();
+  }
+
   async publishToQueue(queueName, message) {
     try {
       await this.rabbitmqConnector.channel.assertQueue(queueName, { durable: true });