forked from crgimenes/grupo-estudos-golang
-
Notifications
You must be signed in to change notification settings - Fork 0
/
testing.go
76 lines (63 loc) · 1.31 KB
/
testing.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package testing
import (
"bytes"
"encoding/json"
"errors"
"io"
"net/http"
"github.com/nuveo/log"
)
var errDivisaoInvalida = errors.New("divisão invalida")
func divideInteiros(dividendo, divisor int) (quociente int, resto int, err error) {
if divisor == 0 {
err = errDivisaoInvalida
return
}
quociente = dividendo / divisor
resto = dividendo % divisor
return
}
func sum(a, b int) (ret int) {
ret = a + b
return
}
func leitor(r io.Reader) (ret string) {
buf := new(bytes.Buffer)
buf.ReadFrom(r) // nolint
ret = buf.String()
return
}
func leEFecha(r io.ReadCloser) (ret string) {
buf := new(bytes.Buffer)
buf.ReadFrom(r)
// note que agora alem de ler
// vamos fechar o descritor
r.Close()
ret = buf.String()
return
}
func responde(w http.ResponseWriter) {
ret := struct {
Msg string `json:"message"`
}{
Msg: "algo muito importante",
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(ret) // nolint
}
func clienteHttp(token, method, url string, body io.Reader) (resp *http.Response, err error) {
req, err := http.NewRequest(method, url, body)
if err != nil {
return
}
req.Header.Add("Authorization", token)
client := http.Client{}
resp, err = client.Do(req)
return
}
func closer(body io.Closer) {
err := body.Close()
if err != nil {
log.Errorln(err)
}
}