Skip to content

Instantly share code, notes, and snippets.

View khaosdoctor's full-sized avatar
:shipit:
Always trying, never giving up

Lucas Santos khaosdoctor

:shipit:
Always trying, never giving up
View GitHub Profile
@khaosdoctor
khaosdoctor / travis.yml
Created August 24, 2015 21:12
Travis.yml for .NET
language: c
before_install:
- sudo apt-get update -qq > /dev/null
- sudo apt-get install mono-devel mono-gmcs nunit-console
- mozroots --import --sync
- mv -f src/.nuget/NuGet.mono.targets src/.nuget/NuGet.targets
- export EnableNuGetPackageRestore=true
script:
@khaosdoctor
khaosdoctor / reverse-ip-lookup.js
Created December 12, 2016 11:57 — forked from eugenehp/reverse-ip-lookup.js
node.js IP reverse lookup
var dns = require('dns');
function reverseLookup(ip) {
dns.reverse(ip,function(err,domains){
if(err!=null) callback(err);
domains.forEach(function(domain){
dns.lookup(domain,function(err, address, family){
console.log(domain,'[',address,']');
console.log('reverse:',ip==address);
@khaosdoctor
khaosdoctor / app.js
Last active July 9, 2017 01:46
Example script for medium article
const logger = require('knoblr')
const mongoose = require('mongoose')
const Koa = require('koa')
const jwt = require('koa-jwt')
const parser = require('koa-body')()
const cors = require('../shared/configs/cors')
const ServerException = require('../shared/errors/ServerException')
/**
* Realiza a conexão no banco de dados
@khaosdoctor
khaosdoctor / index.js
Created July 9, 2017 01:47
Example script for medium post
const FileNotFoundException = require('./shared/errors/FileNotFoundException') // Classe de erro de arquivo não encontrado
if (!require('fs').existsSync('.env')) { // Verifica se o arquivo de variáveis de ambiente existe
require('knoblr').error('O arquivo .env não existe, por favor crie um') // Loga o erro no console
throw new FileNotFoundException('.env') // Envia o erro para o usuário
} else {
require('dotenv').config({ // Carrega todas as variáveis de ambiente
silent: true
})
@khaosdoctor
khaosdoctor / get-status.js
Created July 9, 2017 02:20
Example of koa route for medium post
const route = require('koa-route')
const logger = require('knoblr')
const mongoose = require('mongoose')
/**
* Rota de obtenção de status da API
*
* @param {Object} ctx Contexto do Koa (Preenchido automaticamente)
* @param {Object} next Próximo middleware do Koa (Preenchido automaticamente)
* @param {Mongoose} driver Model do Mongoose
@khaosdoctor
khaosdoctor / status-test-1.js
Last active July 9, 2017 03:38
First bit of test from status api
describe('Should return 200 when both the api and the database are ok', (assert) => { // Descrição do código
assert.plan(1) // Planeja que vamos ter apenas 1 verificação neste teste
let dbMock = { // Cria um modelo do objeto do banco de dados apenas com as propriedades que a rota chama
connection: { // Na nossa rota verificamos esta propriedade do banco de dados apenas
readyState: 1 // Vamos forçar uma conexão estabelecida
}
}
func(assert.context.routeContext, null, dbMock) // Chamamos nossa função
assert.deepEqual(assert.context.routeContext.status, 200) // Fazemos a verificação
})
@khaosdoctor
khaosdoctor / stub.js
Created July 12, 2017 01:54
Stub example
describe('Exemplo de stub com Sinon', (assert) => {
var message = 'an example message';
var stub = sinon.stub().throws();
var spy1 = sinon.spy();
var spy2 = sinon.spy();
PubSub.subscribe(message, stub);
PubSub.subscribe(message, spy1);
PubSub.subscribe(message, spy2);
@khaosdoctor
khaosdoctor / mock.js
Created July 12, 2017 02:14
Mock Example
describe('Exemplo de Mock', (assert) => {
var myAPI = { method: function () {} };
var spy = sinon.spy();
var mock = sinon.mock(myAPI);
mock.expects("método").once().throws(); // Substituímos o "método" por outra função previsível
PubSub.subscribe("message", myAPI.method);
PubSub.subscribe("message", spy);
PubSub.publishSync("message", undefined);
@khaosdoctor
khaosdoctor / dummy.js
Created July 12, 2017 02:18
Dummy example
var TaskManager = function(){
var taskList = [];
return {
addTask: function(task){
taskList.push(task);
},
tasksCount: function(){
return taskList.length;
}
@khaosdoctor
khaosdoctor / faker.js
Created July 12, 2017 02:23
Faker example
var xhr, requests;
before(function {
xhr = sinon.useFakeXMLHttpRequest();
requests = [];
xhr.onCreate = function (req) { requests.push(req); };
});
after(function () {
xhr.restore(); // Limpa o objeto quando estamos trabalhando com globais