Skip to content

Commit

Permalink
fix: Mudança na estrutura dos testes e criado testes para o /me
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigorahman committed Mar 8, 2024
1 parent ea085cf commit e3cd013
Show file tree
Hide file tree
Showing 23 changed files with 319 additions and 103 deletions.
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"dart.testAdditionalArgs": [
"--concurrency",
"1"
],
}
2 changes: 1 addition & 1 deletion database.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"users":[{"id":"67256120-0258-1e7b-8d18-87b1c7869e63","email":"at1@gmail.com","password":"123123"},{"id":"d51a7d90-4296-1e8a-877a-b36fd069fb19","email":"at1@gmail.com","password":"123123"}],"adm_users":[{"id":"024fb8e0-02fd-1e7b-8d18-87b1c7869e63","email":"terminal1@gmail.com","password":"123123"}],"attendantDeskAssignment":[],"patients":[{"id":"93b3fd10-9dd7-1e82-bfae-fb5426cd6532","name":"Rodrigo Rahman 2","email":"rodrigorahman@academiadoflutter.com.br","phone_number":"(11) 1231212312","document":"123.123.123-12","address":{"cep":"09190390","street_address":"Rua X","number":"51","address_complement":"","state":"SP","city":"Santo André","district":"Jardins"},"guardian":"","guardian_identification_number":""},{"id":"64a62430-4df9-1e83-bfae-fb5426cd6532","name":"teste","email":"teste@teste.com.br","phone_number":"(12) 3123-1231","document":"321.321.321-32","address":{"cep":"11.111-111","street_address":"teste","number":"12","address_complement":"teste","state":"teste","city":"teste","district":"teste"},"guardian":"teste","guardian_identification_number":"123.123.123-13"}],"patientInformationForm":[],"painelCheckin":[],"tests":[{"id":"3b2526a7-96ad-4884-8d89-aac3a8f8d1e1","name":"Endoscopia"},{"id":"89b5ecf8-dcdd-42fd-b1ec-335537b661cc","name":"Exame de Sangue"},{"id":"4c7c2c0e-84fa-4b91-aff1-f8f9a99b4925","name":"Ressonância Magnética"},{"id":"49d4cb2e-afd5-4345-ac03-92ec451c0601","name":"Tomografia Computadorizada"},{"id":"0c4f178f-8b57-4f03-bbd5-5463e228d810","name":"Ultrassonografia"},{"id":"56ec8065-417f-4082-bcb5-1900b504c78d","name":"Eletrocardiograma"},{"id":"fb685fbd-853e-49f2-8a55-1086d08db53e","name":"Raio-X"},{"id":"93d3d43a-2f14-4d00-984b-d46f35c76142","name":"Colonoscopia"},{"id":"957a344b-ec07-4023-8e51-1adfa4e62a05","name":"Teste de Esforço"},{"id":"98b881bc-67cf-4e10-adca-17a1f59d798e","name":"Biopsia"},{"id":"9a4a3733-50cf-47ca-a671-2fbadd319d5b","name":"Eletroencefalograma"},{"id":"222fd2b7-af4e-42e2-8f08-069cbcd0f728","name":"Exame de Urina"},{"id":"590f8160-7920-40f7-9f44-cc6d42dff46d","name":"Holter 24 Horas"},{"id":"c71c2048-0cb8-49a2-a4f2-3b0dcdee6dd6","name":"Mamografia"},{"id":"05a0f0fb-6202-420a-8644-a1c1772c9da6","name":"Densitometria Óssea"},{"id":"2b029e96-eb37-43ad-8475-2d5cd273ef7e","name":"Teste de Gravidez"},{"id":"c0537924-ef52-43f9-8819-1f2a730eb5b7","name":"Teste de Glicemia"},{"id":"0fb498bd-2a27-4c23-9cf4-87b8a633d218","name":"Esprometria"},{"id":"67397c75-6ec4-4699-b52c-dadeb44b4734","name":"Audiometria"},{"id":"09835021-acc2-4792-a167-46d067de7406","name":"Exame de Vista"}]}
{"users":[{"id":"67256120-0258-1e7b-8d18-87b1c7869e63","email":"at1@gmail.com","password":"123123","document":"123.123.123-12","cellphone":11999999999},{"id":"d51a7d90-4296-1e8a-877a-b36fd069fb19","email":"at1@gmail.com","password":"123123","document":"123.123.123-11","cellphone":21999999999}],"adm_users":[{"id":"024fb8e0-02fd-1e7b-8d18-87b1c7869e63","email":"terminal1@gmail.com","password":"123123"}],"attendantDeskAssignment":[],"patients":[{"id":"93b3fd10-9dd7-1e82-bfae-fb5426cd6532","name":"Rodrigo Rahman 2","email":"rodrigorahman@academiadoflutter.com.br","phone_number":"(11) 1231212312","document":"123.123.123-12","address":{"cep":"09190390","street_address":"Rua X","number":"51","address_complement":"","state":"SP","city":"Santo André","district":"Jardins"},"guardian":"","guardian_identification_number":""},{"id":"64a62430-4df9-1e83-bfae-fb5426cd6532","name":"teste","email":"teste@teste.com.br","phone_number":"(12) 3123-1231","document":"321.321.321-32","address":{"cep":"11.111-111","street_address":"teste","number":"12","address_complement":"teste","state":"teste","city":"teste","district":"teste"},"guardian":"teste","guardian_identification_number":"123.123.123-13"}],"patientInformationForm":[],"painelCheckin":[],"tests":[{"id":"3b2526a7-96ad-4884-8d89-aac3a8f8d1e1","name":"Endoscopia"},{"id":"89b5ecf8-dcdd-42fd-b1ec-335537b661cc","name":"Exame de Sangue"},{"id":"4c7c2c0e-84fa-4b91-aff1-f8f9a99b4925","name":"Ressonância Magnética"},{"id":"49d4cb2e-afd5-4345-ac03-92ec451c0601","name":"Tomografia Computadorizada"},{"id":"0c4f178f-8b57-4f03-bbd5-5463e228d810","name":"Ultrassonografia"},{"id":"56ec8065-417f-4082-bcb5-1900b504c78d","name":"Eletrocardiograma"},{"id":"fb685fbd-853e-49f2-8a55-1086d08db53e","name":"Raio-X"},{"id":"93d3d43a-2f14-4d00-984b-d46f35c76142","name":"Colonoscopia"},{"id":"957a344b-ec07-4023-8e51-1adfa4e62a05","name":"Teste de Esforço"},{"id":"98b881bc-67cf-4e10-adca-17a1f59d798e","name":"Biopsia"},{"id":"9a4a3733-50cf-47ca-a671-2fbadd319d5b","name":"Eletroencefalograma"},{"id":"222fd2b7-af4e-42e2-8f08-069cbcd0f728","name":"Exame de Urina"},{"id":"590f8160-7920-40f7-9f44-cc6d42dff46d","name":"Holter 24 Horas"},{"id":"c71c2048-0cb8-49a2-a4f2-3b0dcdee6dd6","name":"Mamografia"},{"id":"05a0f0fb-6202-420a-8644-a1c1772c9da6","name":"Densitometria Óssea"},{"id":"2b029e96-eb37-43ad-8475-2d5cd273ef7e","name":"Teste de Gravidez"},{"id":"c0537924-ef52-43f9-8819-1f2a730eb5b7","name":"Teste de Glicemia"},{"id":"0fb498bd-2a27-4c23-9cf4-87b8a633d218","name":"Esprometria"},{"id":"67397c75-6ec4-4699-b52c-dadeb44b4734","name":"Audiometria"},{"id":"09835021-acc2-4792-a167-46d067de7406","name":"Exame de Vista"}]}
6 changes: 4 additions & 2 deletions lib/src/server/json_rest_server.dart
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ class JsonRestServer {
}

final serverHandler = cascadeServer.handler;

_httpServer = await serve(serverHandler, ip, port);
if (ip == '0.0.0.0') {
final networks =
Expand Down Expand Up @@ -109,6 +109,8 @@ class JsonRestServer {

Future<void> closeServer() async {
print('servidor fechado');
await _httpServer.close();
await _httpServer.close(force: true);
_socketHandler.server.close();
}

}
1 change: 1 addition & 0 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ dev_dependencies:
dio: ^5.4.0
lints: ^3.0.0
test: ^1.25.0
yaml_writer: ^2.0.0

executables:
json_rest_server: json_rest_server
Expand Down
6 changes: 5 additions & 1 deletion test/server/handlers/auth_handler_custom_fields_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@ import 'package:json_rest_server/src/server/json_rest_server.dart';
import 'package:test/test.dart';

import '../mock/env_mock.dart';
import '../mock/generate_config.dart';
import '../mock/generate_database.dart';

void main() {
group('Custom Fields Auth Handler Test', () {
JsonRestServer? server;
setUpAll(() async {
print('start server');
server = JsonRestServer(EnvMockAuth.customFieldsAuth());
GenerateDatabase.uuid();
GenerateConfig.customFieldsAuth();
server = JsonRestServer(EnvMock());
await server!.startServer();
});

Expand Down
8 changes: 7 additions & 1 deletion test/server/handlers/auth_handler_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,25 @@ import 'package:json_rest_server/src/server/json_rest_server.dart';
import 'package:test/test.dart';

import '../mock/env_mock.dart';
import '../mock/generate_config.dart';
import '../mock/generate_database.dart';

void main() {
group('Default Fields Auth Handler Test', () {
JsonRestServer? server;
setUpAll(() async {
print('start server');
server = JsonRestServer(EnvMockAuth.defaultAuth());
GenerateDatabase.uuid();
GenerateConfig.defaultAuth();
server = JsonRestServer(EnvMock());
await server!.startServer();
});

tearDownAll(() => server?.closeServer());

test('Should login success', () async {


final Response(
data: {
'access_token': accessToken,
Expand Down
4 changes: 4 additions & 0 deletions test/server/handlers/get_handler_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ import 'package:json_rest_server/src/server/json_rest_server.dart';
import 'package:test/test.dart';

import '../mock/env_mock.dart';
import '../mock/generate_config.dart';
import '../mock/generate_database.dart';

void main() {
group('Getter Tests', () {
JsonRestServer? server;
setUpAll(() async {
GenerateDatabase.uuid();
GenerateConfig.basic();
server = JsonRestServer(EnvMock());
await server!.startServer();
});
Expand Down
62 changes: 62 additions & 0 deletions test/server/handlers/me_handler_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import 'package:dio/dio.dart';
import 'package:get_it/get_it.dart';
import 'package:json_rest_server/src/server/json_rest_server.dart';
import 'package:test/test.dart';

import '../mock/env_mock.dart';
import '../mock/generate_config.dart';
import '../mock/generate_database.dart';

void main() {
group('Tests get me', () {
setUpAll((){
GetIt.I.allowReassignment = true;
});
test('Shoud me data when id int', () async {
GenerateConfig.defaultAuthIdInt();
GenerateDatabase.int();

final server = JsonRestServer(EnvMock());
await server.startServer();

final authToken = await _auth();
final Response(data: Map(isNotEmpty: hasData)) = await Dio().get(
'http://localhost:8080/me',
options: Options(headers: {'Authorization': authToken}));

expect(hasData, isTrue);
await server.closeServer();
});

test('Shoud me data when id UUID', () async {
print(DateTime.now().toIso8601String());
GenerateConfig.defaultAuth();
GenerateDatabase.uuid();
final server = JsonRestServer(EnvMock());
await server.startServer();

final authToken = await _auth();
final Response(data: Map(isNotEmpty: hasData)) = await Dio().get(
'http://localhost:8080/me',
options: Options(headers: {'Authorization': authToken}));

expect(hasData, isTrue);
await server.closeServer();
});
});
}

Future<String> _auth() async {
final Response(
data: {'access_token': accessToken, 'type': type},
:statusCode
) = await Dio().post(
'http://localhost:8080/auth',
data: {
"email": "at1@gmail.com",
"password": "123123",
},
);
expect(statusCode, equals(200));
return '$type $accessToken';
}
4 changes: 4 additions & 0 deletions test/server/handlers/put_handler_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@ import 'package:json_rest_server/src/server/json_rest_server.dart';
import 'package:test/test.dart';

import '../mock/env_mock.dart';
import '../mock/generate_config.dart';
import '../mock/generate_database.dart';

void main() {
group('Put Tests group', () {
JsonRestServer? server;
setUpAll(() async {
GenerateDatabase.uuid();
GenerateConfig.basic();
server = JsonRestServer(EnvMock());
await server!.startServer();
});
Expand Down
26 changes: 26 additions & 0 deletions test/server/mock/auth_custom_fields_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "Json Rest Server",
"port": 8080,
"host": "0.0.0.0",
"database": "database.json",
"enableSocket": true,
"socketPort": 8081,
"broadcastProvider": "socket",
"idType": "uuid",
"auth": {
"jwtSecret": "cwsMXDtuP447WZQ63nM4dWZ3RppyMl",
"jwtExpire": 3600,
"authFields": [
{
"document": {
"type": "string"
}
},
{
"cellphone": {
"type": "int"
}
}
]
}
}
14 changes: 14 additions & 0 deletions test/server/mock/auth_default_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "Json Rest Server",
"port": 8080,
"host": "0.0.0.0",
"database": "database.json",
"enableSocket": true,
"socketPort": 8081,
"broadcastProvider": "socket",
"idType": "uuid",
"auth": {
"jwtSecret": "cwsMXDtuP447WZQ63nM4dWZ3RppyMl",
"jwtExpire": 3600
}
}
14 changes: 14 additions & 0 deletions test/server/mock/auth_default_id_int_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "Json Rest Server",
"port": 8080,
"host": "0.0.0.0",
"database": "database.json",
"enableSocket": true,
"socketPort": 8081,
"broadcastProvider": "socket",
"idType": "int",
"auth": {
"jwtSecret": "cwsMXDtuP447WZQ63nM4dWZ3RppyMl",
"jwtExpire": 3600
}
}
10 changes: 10 additions & 0 deletions test/server/mock/basic_config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "Json Rest Server",
"port": 8080,
"host": "0.0.0.0",
"database": "database.json",
"enableSocket": true,
"socketPort": 8081,
"broadcastProvider": "socket",
"idType": "uuid"
}
84 changes: 84 additions & 0 deletions test/server/mock/database_int.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
{
"users": [
{
"id": 1,
"email": "at1@gmail.com",
"password": "123123",
"document":"123.123.123-12",
"cellphone": 11999999999
},
{
"id": 2,
"email": "at1@gmail.com",
"password": "123123",
"document":"123.123.123-11",
"cellphone": 21999999999
}
],
"adm_users": [
{
"id": 1,
"email": "terminal1@gmail.com",
"password": "123123"
}
],
"attendantDeskAssignment": [],
"patients": [
{
"id": 1,
"name": "Rodrigo Rahman 2",
"email": "rodrigorahman@academiadoflutter.com.br",
"phone_number": "(11) 1231212312",
"document": "123.123.123-12",
"address": {
"cep": "09190390",
"street_address": "Rua X",
"number": "51",
"address_complement": "",
"state": "SP",
"city": "Santo André",
"district": "Jardins"
},
"guardian": "",
"guardian_identification_number": ""
},
{
"id": 2,
"name": "teste",
"email": "teste@teste.com.br",
"phone_number": "(12) 3123-1231",
"document": "321.321.321-32",
"address": {
"cep": "11.111-111",
"street_address": "teste",
"number": "12",
"address_complement": "teste",
"state": "teste",
"city": "teste",
"district": "teste"
},
"guardian": "teste",
"guardian_identification_number": "123.123.123-13"
}
],
"patientInformationForm": [],
"painelCheckin": [],
"tests": [
{
"id": 1,
"name": "Endoscopia"
},
{
"id": 2,
"name": "Exame de Sangue"
},
{
"id": 3,
"name": "Ressonância Magnética"
},
{
"id": 4,
"name": "Tomografia Computadorizada"
}
]
}
File renamed without changes.
14 changes: 10 additions & 4 deletions test/server/mock/env_mock.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'dart:convert';
import 'dart:io';

import 'package:json_rest_server/src/server/core/env.dart';
import 'package:path/path.dart' as path;
import 'package:yaml_writer/yaml_writer.dart';

class EnvMock extends Env {
@override
Expand All @@ -15,11 +17,15 @@ class EnvMockAuth extends Env {

factory EnvMockAuth.defaultAuth() {
// Substituir o arquivo pelo template do config_defaults.yaml
final basePath =
path.joinAll([path.current, 'test', 'server', 'server_config_auth']);
final fileBase = File(path.joinAll([basePath, 'config_default.yaml']));
final basePath = path.joinAll([path.current, 'test', 'server', 'mock']);

final jsonConfig =
File(path.joinAll([basePath, 'auth_default_config.json']));
var yamlWriter = YamlWriter(allowUnquotedStrings:true);
var yamlDoc = yamlWriter.write(jsonDecode(jsonConfig.readAsStringSync()));
print(yamlDoc);
final finalFile = File(path.joinAll([basePath, 'config.yaml']));
finalFile.writeAsStringSync(fileBase.readAsStringSync());
finalFile.writeAsStringSync(yamlDoc);
return EnvMockAuth._();
}

Expand Down

0 comments on commit e3cd013

Please sign in to comment.