Skip to content

Commit

Permalink
Server create, destroy
Browse files Browse the repository at this point in the history
  • Loading branch information
ilovepixelart committed Nov 17, 2024
1 parent 989871b commit 7cfc5a0
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 72 deletions.
31 changes: 6 additions & 25 deletions tests/cache-debug.test.ts
Original file line number Diff line number Diff line change
@@ -1,47 +1,28 @@
import fs from 'node:fs'
import { MongoMemoryServer } from 'mongodb-memory-server'
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'

import mongoose, { model } from 'mongoose'
import mongoose from 'mongoose'
import CacheMongoose from '../src/plugin'
import server from './mongo/server'

import User from './models/User'

describe('cache-debug', async () => {
let mongo: MongoMemoryServer
const instance = server('cache-debug')
let cache: CacheMongoose
const dbName = 'cache-debug'
const dbPath = `./tests/mongo/${dbName}`

beforeAll(async () => {
cache = CacheMongoose.init(mongoose, {
engine: 'memory',
debug: true,
})

fs.mkdirSync(dbPath, { recursive: true })
mongo = await MongoMemoryServer.create({
instance: {
dbName,
dbPath,
},
})

const uri = mongo.getUri()
await mongoose.connect(uri)
await cache.clear()
await instance.create()
})

afterAll(async () => {
await cache.clear()
await cache.close()
await mongoose.connection.dropDatabase()
await mongoose.connection.close()
await mongo.stop({ doCleanup: true, force: true })
try {
fs.rmdirSync(dbPath, { recursive: true })
} catch {
// Folder is already deleted
}
await instance.destroy()
})

beforeEach(async () => {
Expand Down
31 changes: 6 additions & 25 deletions tests/cache-memory.test.ts
Original file line number Diff line number Diff line change
@@ -1,46 +1,27 @@
import fs from 'node:fs'
import { MongoMemoryServer } from 'mongodb-memory-server'
import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest'

import mongoose, { model } from 'mongoose'
import mongoose from 'mongoose'
import CacheMongoose from '../src/plugin'
import server from './mongo/server'

import User from './models/User'

describe('cache-memory', async () => {
let mongo: MongoMemoryServer
const instance = server('cache-memory')
let cache: CacheMongoose
const dbName = 'cache-memory'
const dbPath = `./tests/mongo/${dbName}`

beforeAll(async () => {
cache = CacheMongoose.init(mongoose, {
engine: 'memory',
})

fs.mkdirSync(dbPath, { recursive: true })
mongo = await MongoMemoryServer.create({
instance: {
dbName,
dbPath,
},
})

const uri = mongo.getUri()
await mongoose.connect(uri)
await cache.clear()
await instance.create()
})

afterAll(async () => {
await cache.clear()
await cache.close()
await mongoose.connection.dropDatabase()
await mongoose.connection.close()
await mongo.stop({ doCleanup: true, force: true })
try {
fs.rmdirSync(dbPath, { recursive: true })
} catch {
// Folder is already deleted
}
await instance.destroy()
})

beforeEach(async () => {
Expand Down
26 changes: 5 additions & 21 deletions tests/cache-redis.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest'

import mongoose from 'mongoose'
import plugin from '../src/plugin'
import server from './mongo/server'

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

describe('cache-redis', async () => {
let mongo: MongoMemoryServer
const instance = server('cache-redis')
let cache: CacheMongoose
const dbName = 'cache-redis'
const dbPath = `./tests/mongo/${dbName}`

beforeAll(async () => {
cache = plugin.init(mongoose, {
Expand All @@ -29,28 +28,13 @@ describe('cache-redis', async () => {
defaultTTL: '10 seconds',
})

fs.mkdirSync(dbPath, { recursive: true })
mongo = await MongoMemoryServer.create({
instance: {
dbName,
dbPath,
},
})
const uri = mongo.getUri()
await mongoose.connect(uri)
await cache.clear()
await instance.create()
})

afterAll(async () => {
await cache.clear()
await cache.close()
await mongoose.connection.dropDatabase()
await mongoose.connection.close()
await mongo.stop({ doCleanup: true })
try {
fs.rmdirSync(dbPath, { recursive: true })
} catch {
// Folder is already deleted
}
await instance.destroy()
})

beforeEach(async () => {
Expand Down
3 changes: 2 additions & 1 deletion tests/mongo/.gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*
!.gitignore
!.gitignore
!server.ts
32 changes: 32 additions & 0 deletions tests/mongo/server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import fs from 'node:fs'
import mongoose from 'mongoose'

import { MongoMemoryServer } from 'mongodb-memory-server'

const server = (dbName: string) => {
let mongo: MongoMemoryServer
const dbPath = `./tests/mongo/${dbName}`

const create = async () => {
fs.mkdirSync(dbPath, { recursive: true })
mongo = await MongoMemoryServer.create({
instance: {
dbName,
dbPath,
},
})

const uri = mongo.getUri()
await mongoose.connect(uri)
}

const destroy = async () => {
await mongoose.connection.dropDatabase()
await mongoose.connection.close()
await mongo.stop({ doCleanup: true, force: true })
}

return { create, destroy }
}

export default server

0 comments on commit 7cfc5a0

Please # to comment.