Taichi Masuyama 4 лет назад
Родитель
Сommit
6b2c73e7c6

+ 2 - 1
.github/workflows/ci-app.yml

@@ -100,7 +100,8 @@ jobs:
       run: |
       run: |
         yarn test
         yarn test
       env:
       env:
-        MONGO_URI: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi_test
+        MONGO_URI_TEST_V4: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi_test
+        MONGO_URI_TEST_V5: mongodb://localhost:${{ job.services.mongodb.ports['27017'] }}/growi_test_v5
 
 
     - name: Upload coverage report as artifact
     - name: Upload coverage report as artifact
       uses: actions/upload-artifact@v2
       uses: actions/upload-artifact@v2

+ 2 - 3
packages/app/test/integration/global-setup.js

@@ -9,7 +9,7 @@ import 'tsconfig-paths/register';
 
 
 import mongoose from 'mongoose';
 import mongoose from 'mongoose';
 
 
-import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '@growi/core';
+import { initMongooseGlobalSettings, getMongoUriForTestV4, mongoOptions } from '@growi/core';
 
 
 // check env
 // check env
 if (process.env.NODE_ENV !== 'test') {
 if (process.env.NODE_ENV !== 'test') {
@@ -19,8 +19,7 @@ if (process.env.NODE_ENV !== 'test') {
 module.exports = async() => {
 module.exports = async() => {
   initMongooseGlobalSettings();
   initMongooseGlobalSettings();
 
 
-  process.env.MONGO_URI = 'mongodb://mongo/growi_test';
-  mongoose.connect(getMongoUri(), mongoOptions);
+  mongoose.connect(getMongoUriForTestV4(), mongoOptions);
 
 
   // drop database
   // drop database
   await mongoose.connection.dropDatabase();
   await mongoose.connection.dropDatabase();

+ 2 - 2
packages/app/test/integration/setup.js

@@ -7,7 +7,7 @@
 
 
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
 
 
-const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('@growi/core');
+const { initMongooseGlobalSettings, getMongoUriForTestV4, mongoOptions } = require('@growi/core');
 
 
 mongoose.Promise = global.Promise;
 mongoose.Promise = global.Promise;
 
 
@@ -16,7 +16,7 @@ jest.setTimeout(30000); // default 5000
 beforeAll(async() => {
 beforeAll(async() => {
   initMongooseGlobalSettings();
   initMongooseGlobalSettings();
   process.env.MONGO_URI = 'mongodb://mongo/growi_test';
   process.env.MONGO_URI = 'mongodb://mongo/growi_test';
-  await mongoose.connect(getMongoUri(), mongoOptions);
+  await mongoose.connect(getMongoUriForTestV4(), mongoOptions);
 });
 });
 
 
 afterAll(async() => {
 afterAll(async() => {

+ 2 - 5
packages/app/test/integration/v5-global-setup.js

@@ -9,9 +9,7 @@ import 'tsconfig-paths/register';
 
 
 import mongoose from 'mongoose';
 import mongoose from 'mongoose';
 
 
-import { initMongooseGlobalSettings, getMongoUri, mongoOptions } from '@growi/core';
-
-import { getInstance } from './setup-crowi';
+import { initMongooseGlobalSettings, getMongoUriForTestV5, mongoOptions } from '@growi/core';
 
 
 // check env
 // check env
 if (process.env.NODE_ENV !== 'test') {
 if (process.env.NODE_ENV !== 'test') {
@@ -20,8 +18,7 @@ if (process.env.NODE_ENV !== 'test') {
 
 
 module.exports = async() => {
 module.exports = async() => {
   initMongooseGlobalSettings();
   initMongooseGlobalSettings();
-  process.env.MONGO_URI = 'mongodb://mongo/growi_v5_test';
-  mongoose.connect(getMongoUri(), mongoOptions);
+  mongoose.connect(getMongoUriForTestV5(), mongoOptions);
 
 
   // drop database
   // drop database
   await mongoose.connection.dropDatabase();
   await mongoose.connection.dropDatabase();

+ 2 - 3
packages/app/test/integration/v5-setup.js

@@ -7,7 +7,7 @@
 
 
 const mongoose = require('mongoose');
 const mongoose = require('mongoose');
 
 
-const { initMongooseGlobalSettings, getMongoUri, mongoOptions } = require('@growi/core');
+const { initMongooseGlobalSettings, getMongoUriForTestV5, mongoOptions } = require('@growi/core');
 
 
 mongoose.Promise = global.Promise;
 mongoose.Promise = global.Promise;
 
 
@@ -15,8 +15,7 @@ jest.setTimeout(30000); // default 5000
 
 
 beforeAll(async() => {
 beforeAll(async() => {
   initMongooseGlobalSettings();
   initMongooseGlobalSettings();
-  process.env.MONGO_URI = 'mongodb://mongo/growi_v5_test';
-  await mongoose.connect(getMongoUri(), mongoOptions);
+  await mongoose.connect(getMongoUriForTestV5(), mongoOptions);
 });
 });
 
 
 afterAll(async() => {
 afterAll(async() => {

+ 8 - 0
packages/core/src/utils/mongoose-utils.ts

@@ -21,6 +21,14 @@ export const getMongoUri = (): string => {
     || ((env.NODE_ENV === 'test') ? 'mongodb://mongo/growi_test' : 'mongodb://mongo/growi');
     || ((env.NODE_ENV === 'test') ? 'mongodb://mongo/growi_test' : 'mongodb://mongo/growi');
 };
 };
 
 
+export const getMongoUriForTestV4 = (): string => {
+  return process.env.MONGO_URI_TEST_V4 || 'mongodb://mongo/growi_test';
+};
+
+export const getMongoUriForTestV5 = (): string => {
+  return process.env.MONGO_URI_TEST_V5 || 'mongodb://mongo/growi_test_v5';
+};
+
 export const getModelSafely = <T>(modelName: string): Model<T & Document> | null => {
 export const getModelSafely = <T>(modelName: string): Model<T & Document> | null => {
   if (mongoose.modelNames().includes(modelName)) {
   if (mongoose.modelNames().includes(modelName)) {
     return mongoose.model<T & Document>(modelName);
     return mongoose.model<T & Document>(modelName);