Browse Source

Merge pull request #181 from sutcalag/main

enable server side test case
ryjiang 4 years ago
parent
commit
cd0d4eab2c

+ 23 - 4
server/src/app.controller.spec.ts

@@ -1,6 +1,20 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { AppController } from './app.controller';
 import { AppController } from './app.controller';
-import { AppService } from './app.service';
+import { AuthService } from './auth/auth.service';
+
+const testUser = {
+  userId: 1,
+  username: 'milvus',
+  password: 'milvus-admin',
+}
+class AuthServiceMock {
+  login = () => testUser;
+}
+
+const AuthServiceProvider = {
+  provide: AuthService,
+  useClass: AuthServiceMock,
+};
 
 
 describe('AppController', () => {
 describe('AppController', () => {
   let appController: AppController;
   let appController: AppController;
@@ -8,15 +22,20 @@ describe('AppController', () => {
   beforeEach(async () => {
   beforeEach(async () => {
     const app: TestingModule = await Test.createTestingModule({
     const app: TestingModule = await Test.createTestingModule({
       controllers: [AppController],
       controllers: [AppController],
-      providers: [AppService],
+      providers: [AuthServiceProvider],
     }).compile();
     }).compile();
 
 
     appController = app.get<AppController>(AppController);
     appController = app.get<AppController>(AppController);
   });
   });
 
 
   describe('root', () => {
   describe('root', () => {
-    it('should return "Hello World!"', () => {
-      expect(appController.getHello()).toBe('Hello World!');
+    it('should defined', () => {
+      expect(appController).toBeDefined();
+    });
+
+    it('should return result', async () => {
+      const data = await appController.login(1);
+      expect(data).toBe(testUser);
     });
     });
   });
   });
 });
 });

+ 3 - 2
server/src/collections/collections.controller.spec.ts

@@ -1,14 +1,15 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { CollectionsController } from './collections.controller';
 import { CollectionsController } from './collections.controller';
+import { CacheModule } from '@nestjs/common';
+import { CollectionsModule } from './collections.module';
 
 
 describe('CollectionsController', () => {
 describe('CollectionsController', () => {
   let controller: CollectionsController;
   let controller: CollectionsController;
 
 
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
-      controllers: [CollectionsController],
+      imports: [CacheModule.register({}), CollectionsModule],
     }).compile();
     }).compile();
-
     controller = module.get<CollectionsController>(CollectionsController);
     controller = module.get<CollectionsController>(CollectionsController);
   });
   });
 
 

+ 2 - 1
server/src/collections/collections.service.spec.ts

@@ -1,12 +1,13 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { CollectionsService } from './collections.service';
 import { CollectionsService } from './collections.service';
+import { MilvusServiceProvider } from '../milvus/milvus.service.mock';
 
 
 describe('CollectionsService', () => {
 describe('CollectionsService', () => {
   let service: CollectionsService;
   let service: CollectionsService;
 
 
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
-      providers: [CollectionsService],
+      providers: [CollectionsService, MilvusServiceProvider],
     }).compile();
     }).compile();
 
 
     service = module.get<CollectionsService>(CollectionsService);
     service = module.get<CollectionsService>(CollectionsService);

+ 2 - 0
server/src/milvus/milvus.controller.spec.ts

@@ -1,5 +1,6 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { MilvusController } from './milvus.controller';
 import { MilvusController } from './milvus.controller';
+import { MilvusService } from './milvus.service';
 
 
 describe('MilvusController', () => {
 describe('MilvusController', () => {
   let controller: MilvusController;
   let controller: MilvusController;
@@ -7,6 +8,7 @@ describe('MilvusController', () => {
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
       controllers: [MilvusController],
       controllers: [MilvusController],
+      providers: [MilvusService]
     }).compile();
     }).compile();
 
 
     controller = module.get<MilvusController>(MilvusController);
     controller = module.get<MilvusController>(MilvusController);

+ 2 - 2
server/src/milvus/milvus.controller.ts

@@ -8,14 +8,14 @@ import {
   UsePipes,
   UsePipes,
 } from '@nestjs/common';
 } from '@nestjs/common';
 import { ApiTags } from '@nestjs/swagger';
 import { ApiTags } from '@nestjs/swagger';
-import { ValidationPipe } from 'src/pipe/validation.pipe';
+import { ValidationPipe } from '../pipe/validation.pipe';
 import { CheckMilvus, ConnectMilvus, Flush } from './dto';
 import { CheckMilvus, ConnectMilvus, Flush } from './dto';
 import { MilvusService } from './milvus.service';
 import { MilvusService } from './milvus.service';
 
 
 @ApiTags('milvus')
 @ApiTags('milvus')
 @Controller('milvus')
 @Controller('milvus')
 export class MilvusController {
 export class MilvusController {
-  constructor(private milvusService: MilvusService) {}
+  constructor(private milvusService: MilvusService) { }
 
 
   @Post('connect')
   @Post('connect')
   @UsePipes(new ValidationPipe())
   @UsePipes(new ValidationPipe())

+ 13 - 0
server/src/milvus/milvus.service.mock.ts

@@ -0,0 +1,13 @@
+import { MilvusService } from './milvus.service';
+
+class MilvusServiceMock {
+  milvusClientGetter() {
+    return {};
+  }
+}
+
+export const MilvusServiceProvider = {
+  provide: MilvusService,
+  useClass: MilvusServiceMock,
+};
+

+ 3 - 0
server/src/partitions/partitions.controller.spec.ts

@@ -1,5 +1,7 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { PartitionsController } from './partitions.controller';
 import { PartitionsController } from './partitions.controller';
+import { PartitionsService } from './partitions.service';
+import { MilvusServiceProvider } from '../milvus/milvus.service.mock';
 
 
 describe('PartitionsController', () => {
 describe('PartitionsController', () => {
   let controller: PartitionsController;
   let controller: PartitionsController;
@@ -7,6 +9,7 @@ describe('PartitionsController', () => {
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
       controllers: [PartitionsController],
       controllers: [PartitionsController],
+      providers: [PartitionsService, MilvusServiceProvider],
     }).compile();
     }).compile();
 
 
     controller = module.get<PartitionsController>(PartitionsController);
     controller = module.get<PartitionsController>(PartitionsController);

+ 2 - 1
server/src/partitions/partitions.service.spec.ts

@@ -1,12 +1,13 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { PartitionsService } from './partitions.service';
 import { PartitionsService } from './partitions.service';
+import { MilvusServiceProvider } from '../milvus/milvus.service.mock';
 
 
 describe('PartitionsService', () => {
 describe('PartitionsService', () => {
   let service: PartitionsService;
   let service: PartitionsService;
 
 
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
-      providers: [PartitionsService],
+      providers: [PartitionsService, MilvusServiceProvider],
     }).compile();
     }).compile();
 
 
     service = module.get<PartitionsService>(PartitionsService);
     service = module.get<PartitionsService>(PartitionsService);

+ 2 - 2
server/src/partitions/partitions.service.ts

@@ -8,13 +8,13 @@ import {
   ReleasePartitionsReq,
   ReleasePartitionsReq,
   ShowPartitionsReq,
   ShowPartitionsReq,
 } from '@zilliz/milvus2-sdk-node/dist/milvus/types'; // todo: need improve like export types in root file.
 } from '@zilliz/milvus2-sdk-node/dist/milvus/types'; // todo: need improve like export types in root file.
-import { throwErrorFromSDK } from 'src/utils/Error';
+import { throwErrorFromSDK } from '../utils/Error';
 import { findKeyValue } from '../utils/Helper';
 import { findKeyValue } from '../utils/Helper';
 import { ROW_COUNT } from '../utils/Const';
 import { ROW_COUNT } from '../utils/Const';
 
 
 @Injectable()
 @Injectable()
 export class PartitionsService {
 export class PartitionsService {
-  constructor(private milvusService: MilvusService) {}
+  constructor(private milvusService: MilvusService) { }
 
 
   get milvusClient() {
   get milvusClient() {
     return this.milvusService.milvusClientGetter;
     return this.milvusService.milvusClientGetter;

+ 3 - 0
server/src/schema/schema.controller.spec.ts

@@ -1,5 +1,7 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { SchemaController } from './schema.controller';
 import { SchemaController } from './schema.controller';
+import { SchemaService } from './schema.service';
+import { MilvusServiceProvider } from '../milvus/milvus.service.mock';
 
 
 describe('SchemaController', () => {
 describe('SchemaController', () => {
   let controller: SchemaController;
   let controller: SchemaController;
@@ -7,6 +9,7 @@ describe('SchemaController', () => {
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
       controllers: [SchemaController],
       controllers: [SchemaController],
+      providers: [SchemaService, MilvusServiceProvider],
     }).compile();
     }).compile();
 
 
     controller = module.get<SchemaController>(SchemaController);
     controller = module.get<SchemaController>(SchemaController);

+ 2 - 1
server/src/schema/schema.service.spec.ts

@@ -1,12 +1,13 @@
 import { Test, TestingModule } from '@nestjs/testing';
 import { Test, TestingModule } from '@nestjs/testing';
 import { SchemaService } from './schema.service';
 import { SchemaService } from './schema.service';
+import { MilvusServiceProvider } from '../milvus/milvus.service.mock';
 
 
 describe('SchemaService', () => {
 describe('SchemaService', () => {
   let service: SchemaService;
   let service: SchemaService;
 
 
   beforeEach(async () => {
   beforeEach(async () => {
     const module: TestingModule = await Test.createTestingModule({
     const module: TestingModule = await Test.createTestingModule({
-      providers: [SchemaService],
+      providers: [SchemaService, MilvusServiceProvider],
     }).compile();
     }).compile();
 
 
     service = module.get<SchemaService>(SchemaService);
     service = module.get<SchemaService>(SchemaService);

+ 2 - 2
server/src/schema/schema.service.ts

@@ -6,12 +6,12 @@ import {
   GetIndexBuildProgressReq,
   GetIndexBuildProgressReq,
   GetIndexStateReq,
   GetIndexStateReq,
 } from '@zilliz/milvus2-sdk-node/dist/milvus/types';
 } from '@zilliz/milvus2-sdk-node/dist/milvus/types';
-import { throwErrorFromSDK } from 'src/utils/Error';
+import { throwErrorFromSDK } from '../utils/Error';
 import { MilvusService } from '../milvus/milvus.service';
 import { MilvusService } from '../milvus/milvus.service';
 
 
 @Injectable()
 @Injectable()
 export class SchemaService {
 export class SchemaService {
-  constructor(private milvusService: MilvusService) {}
+  constructor(private milvusService: MilvusService) { }
 
 
   get milvusClient() {
   get milvusClient() {
     return this.milvusService.milvusClientGetter;
     return this.milvusService.milvusClientGetter;

+ 1 - 1
server/src/users/users.service.spec.ts

@@ -26,7 +26,7 @@ describe('UsersService', () => {
     expect(res).toEqual({
     expect(res).toEqual({
       userId: 1,
       userId: 1,
       username: 'milvus',
       username: 'milvus',
-      password: 'milvus-em',
+      password: 'milvus-admin',
     });
     });
   });
   });
 });
 });