Skip to content

Instantly share code, notes, and snippets.

View diegoholiveira's full-sized avatar

Diego Henrique Oliveira diegoholiveira

View GitHub Profile
package main
import (
"context"
"database/sql"
"log"
"net/http"
"os"
"time"
package purchaseshistory
import (
"github.com/go-chi/chi"
"go.uber.org/fx"
)
var Module = fx.Options(
fx.Invoke(registerEndpoints),
factories,
// +build integration
package purchaseshistory
import (
"context"
"database/sql"
"testing"
"github.com/stretchr/testify/assert"
func TestPurchase_success(t *testing.T) {
input := `{
"user_id": 1,
"books": [
{
"id": 1,
"quantity": 2,
"price": 19.9
}
]
type HelloHandler struct {
}
func NewHelloHandler() HelloHandler {
return HelloHandler{}
}
func (h HelloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
_, _ = fmt.Fprintf(w, "Hello")
}
type (
PurchasePersister interface {
Persist(context.Context, purchases.Purchase) error
}
PurchaseHandler struct {
persister PurchasePersister
}
)
package main
import (
"bytes"
"fmt"
"strings"
"github.com/diegoholiveira/jsonlogic"
)
@diegoholiveira
diegoholiveira / template.sh
Created May 26, 2018 20:02
a template for bash scripts
#!/usr/bin/env bash
# source: https://dev.to/thiht/shell-scripts-matter
set -euo pipefail
IFS=$'\n\t'
readonly LOG_FILE="/tmp/$(basename "$0").log"
info() { echo "[INFO] $*" | tee -a "$LOG_FILE" >&2 ; }
warning() { echo "[WARNING] $*" | tee -a "$LOG_FILE" >&2 ; }
error() { echo "[ERROR] $*" | tee -a "$LOG_FILE" >&2 ; }
fatal() { echo "[FATAL] $*" | tee -a "$LOG_FILE" >&2 ; exit 1 ; }