Skip to content

Commit 7cfc5a0

Browse files
committed
Server create, destroy
1 parent 989871b commit 7cfc5a0

File tree

5 files changed

+51
-72
lines changed

5 files changed

+51
-72
lines changed

tests/cache-debug.test.ts

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,28 @@
1-
import fs from 'node:fs'
2-
import { MongoMemoryServer } from 'mongodb-memory-server'
31
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
42

5-
import mongoose, { model } from 'mongoose'
3+
import mongoose from 'mongoose'
64
import CacheMongoose from '../src/plugin'
5+
import server from './mongo/server'
76

87
import User from './models/User'
98

109
describe('cache-debug', async () => {
11-
let mongo: MongoMemoryServer
10+
const instance = server('cache-debug')
1211
let cache: CacheMongoose
13-
const dbName = 'cache-debug'
14-
const dbPath = `./tests/mongo/${dbName}`
1512

1613
beforeAll(async () => {
1714
cache = CacheMongoose.init(mongoose, {
1815
engine: 'memory',
1916
debug: true,
2017
})
2118

22-
fs.mkdirSync(dbPath, { recursive: true })
23-
mongo = await MongoMemoryServer.create({
24-
instance: {
25-
dbName,
26-
dbPath,
27-
},
28-
})
29-
30-
const uri = mongo.getUri()
31-
await mongoose.connect(uri)
32-
await cache.clear()
19+
await instance.create()
3320
})
3421

3522
afterAll(async () => {
23+
await cache.clear()
3624
await cache.close()
37-
await mongoose.connection.dropDatabase()
38-
await mongoose.connection.close()
39-
await mongo.stop({ doCleanup: true, force: true })
40-
try {
41-
fs.rmdirSync(dbPath, { recursive: true })
42-
} catch {
43-
// Folder is already deleted
44-
}
25+
await instance.destroy()
4526
})
4627

4728
beforeEach(async () => {

tests/cache-memory.test.ts

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,27 @@
1-
import fs from 'node:fs'
2-
import { MongoMemoryServer } from 'mongodb-memory-server'
31
import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest'
42

5-
import mongoose, { model } from 'mongoose'
3+
import mongoose from 'mongoose'
64
import CacheMongoose from '../src/plugin'
5+
import server from './mongo/server'
76

87
import User from './models/User'
98

109
describe('cache-memory', async () => {
11-
let mongo: MongoMemoryServer
10+
const instance = server('cache-memory')
1211
let cache: CacheMongoose
13-
const dbName = 'cache-memory'
14-
const dbPath = `./tests/mongo/${dbName}`
1512

1613
beforeAll(async () => {
1714
cache = CacheMongoose.init(mongoose, {
1815
engine: 'memory',
1916
})
2017

21-
fs.mkdirSync(dbPath, { recursive: true })
22-
mongo = await MongoMemoryServer.create({
23-
instance: {
24-
dbName,
25-
dbPath,
26-
},
27-
})
28-
29-
const uri = mongo.getUri()
30-
await mongoose.connect(uri)
31-
await cache.clear()
18+
await instance.create()
3219
})
3320

3421
afterAll(async () => {
22+
await cache.clear()
3523
await cache.close()
36-
await mongoose.connection.dropDatabase()
37-
await mongoose.connection.close()
38-
await mongo.stop({ doCleanup: true, force: true })
39-
try {
40-
fs.rmdirSync(dbPath, { recursive: true })
41-
} catch {
42-
// Folder is already deleted
43-
}
24+
await instance.destroy()
4425
})
4526

4627
beforeEach(async () => {

tests/cache-redis.test.ts

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest'
44

55
import mongoose from 'mongoose'
66
import plugin from '../src/plugin'
7+
import server from './mongo/server'
78

89
import Story from './models/Story'
910
import User from './models/User'
@@ -14,10 +15,8 @@ import { Types } from 'mongoose'
1415
import type CacheMongoose from '../src/plugin'
1516

1617
describe('cache-redis', async () => {
17-
let mongo: MongoMemoryServer
18+
const instance = server('cache-redis')
1819
let cache: CacheMongoose
19-
const dbName = 'cache-redis'
20-
const dbPath = `./tests/mongo/${dbName}`
2120

2221
beforeAll(async () => {
2322
cache = plugin.init(mongoose, {
@@ -29,28 +28,13 @@ describe('cache-redis', async () => {
2928
defaultTTL: '10 seconds',
3029
})
3130

32-
fs.mkdirSync(dbPath, { recursive: true })
33-
mongo = await MongoMemoryServer.create({
34-
instance: {
35-
dbName,
36-
dbPath,
37-
},
38-
})
39-
const uri = mongo.getUri()
40-
await mongoose.connect(uri)
41-
await cache.clear()
31+
await instance.create()
4232
})
4333

4434
afterAll(async () => {
35+
await cache.clear()
4536
await cache.close()
46-
await mongoose.connection.dropDatabase()
47-
await mongoose.connection.close()
48-
await mongo.stop({ doCleanup: true })
49-
try {
50-
fs.rmdirSync(dbPath, { recursive: true })
51-
} catch {
52-
// Folder is already deleted
53-
}
37+
await instance.destroy()
5438
})
5539

5640
beforeEach(async () => {

tests/mongo/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*
2-
!.gitignore
2+
!.gitignore
3+
!server.ts

tests/mongo/server.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import fs from 'node:fs'
2+
import mongoose from 'mongoose'
3+
4+
import { MongoMemoryServer } from 'mongodb-memory-server'
5+
6+
const server = (dbName: string) => {
7+
let mongo: MongoMemoryServer
8+
const dbPath = `./tests/mongo/${dbName}`
9+
10+
const create = async () => {
11+
fs.mkdirSync(dbPath, { recursive: true })
12+
mongo = await MongoMemoryServer.create({
13+
instance: {
14+
dbName,
15+
dbPath,
16+
},
17+
})
18+
19+
const uri = mongo.getUri()
20+
await mongoose.connect(uri)
21+
}
22+
23+
const destroy = async () => {
24+
await mongoose.connection.dropDatabase()
25+
await mongoose.connection.close()
26+
await mongo.stop({ doCleanup: true, force: true })
27+
}
28+
29+
return { create, destroy }
30+
}
31+
32+
export default server

0 commit comments

Comments
 (0)