test (fix): broken tests

This commit is contained in:
Mickael KERJEAN
2018-11-23 01:14:38 +11:00
parent cb4c98e871
commit bef1716a18
5 changed files with 88 additions and 43 deletions

View File

@ -1,6 +1,41 @@
pipeline:
publish_docker:
group: release
test:
image: golang
environment:
- GOPATH=/drone/
- CGO_LDFLAGS_ALLOW='-fopenmp'
commands:
- cd server
- rm -rf plugin
- go get -t ./...
- go build
- go test -v ./...
build:
image: docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
branch: master
commands:
- docker pull alpine:latest
- docker build --no-cache -t machines/nuage docker/prod
integration:
image: docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
branch: master
commands:
- docker rm -f integration_filestash_app || true
- docker rm -f integration_filestash_test || true
- docker run --detach --name integration_filestash_app machines/nuage
- sleep 10
- pwd
- ls -lah
release:
image: docker
secrets: [ docker_username, docker_password ]
volumes:
@ -9,6 +44,16 @@ pipeline:
branch: master
commands:
- echo $DOCKER_PASSWORD | docker login -u=$DOCKER_USERNAME --password-stdin
- docker pull alpine:latest
- docker build --no-cache -t machines/nuage docker/prod
- docker push machines/nuage
deploy:
image: appleboy/drone-ssh
host: hal.kerjean.me
secrets: [ ssh_username, ssh_password ]
port: 22
script:
- cd /app/filestash
- docker-compose pull
- docker-compose up -d
when:
branch: master

View File

@ -20,14 +20,18 @@ func TestEncryptString(t *testing.T) {
}
func TestIDGeneration(t *testing.T) {
d := make(map[string]string)
d["foo"] = "bar"
session := make(map[string]string)
session["foo"] = "bar"
app := &App{
Session: session,
Config: NewConfig(),
}
id1 := GenerateID(d)
d["user"] = "polo"
id2 := GenerateID(d)
d["doesn_t_matter"] = "N/A"
id3 := GenerateID(d)
id1 := GenerateID(app)
session["user"] = "polo"
id2 := GenerateID(app)
session["doesn_t_matter"] = "N/A"
id3 := GenerateID(app)
assert.NotEqual(t, id1, id2)
assert.Equal(t, id2, id3)

View File

@ -9,6 +9,7 @@ import (
"net/http"
"net/http/pprof"
"os"
"runtime/debug"
"strconv"
)
@ -33,7 +34,10 @@ func Init(a *App) {
r.Handle("/debug/pprof/heap", pprof.Handler("heap"))
r.Handle("/debug/pprof/threadcreate", pprof.Handler("threadcreate"))
r.Handle("/debug/pprof/block", pprof.Handler("block"))
r.Handle("/debug/pprof/heap", pprof.Handler("heap"))
r.HandleFunc("/debug/free", func(w http.ResponseWriter, r *http.Request) {
debug.FreeOSMemory()
w.Write([]byte("DONE"))
})
}
// API

View File

@ -1,10 +1,8 @@
package model
import (
//"fmt"
. "github.com/mickael-kerjean/nuage/server/common"
"io/ioutil"
//"os"
"strings"
"testing"
)
@ -14,11 +12,6 @@ var app *App
func init() {
app = &App{}
app.Config = &Config{}
app.Config.Initialise()
app.Config.General.Host = "http://test"
app.Config.OAuthProvider.Dropbox.ClientID = ""
app.Config.OAuthProvider.GoogleDrive.ClientID = ""
app.Config.OAuthProvider.GoogleDrive.ClientID = ""
}
// func TestWebdav(t *testing.T) {
@ -97,22 +90,18 @@ func init() {
// }
// func TestS3(t *testing.T) {
// if os.Getenv("S3_ID") == "" || os.Getenv("S3_SECRET") == "" {
// fmt.Println("- skipped S3")
// return
// }
// b, err := NewBackend(&App{}, map[string]string{
// "type": "s3",
// "access_key_id": os.Getenv("S3_ID"),
// "secret_access_key": os.Getenv("S3_SECRET"),
// "endpoint": os.Getenv("S3_ENDPOINT"),
// "access_key_id": "Q3AM3UQ867SPQQA43P2F",
// "secret_access_key": "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
// "endpoint": "https://play.minio.io:9000/",
// })
// if err != nil {
// t.Errorf("Can't create S3 backend")
// }
// setup(t, b)
// suite(t, b)
// tearDown(t, b)
// // suite(t, b)
// //tearDown(t, b)
// }
// func TestDropbox(t *testing.T) {

View File

@ -15,7 +15,10 @@ var shareObj = Share{
CanRead: true,
CanManageOwn: true,
CanShare: true,
Expire: NewInt64(1537759505787),
Expire: func() *int64{
a := int64(1537759505787)
return &a
}(),
}
@ -34,7 +37,7 @@ func TestShareMultipleUpsert(t *testing.T) {
err = ShareUpsert(&shareObj);
assert.NoError(t, err)
err = ShareGet(&shareObj)
_, err = ShareGet(shareObj.Id)
assert.NoError(t, err)
}
@ -44,7 +47,7 @@ func TestShareUpsertIsProperlyInserted(t *testing.T) {
var obj Share
obj.Id = "foo"
err = ShareGet(&obj)
obj, err = ShareGet(obj.Id)
assert.NoError(t, err)
assert.NotNil(t, obj.Password)
}
@ -55,7 +58,7 @@ func TestShareUpsertIsProperlyInserted(t *testing.T) {
func TestShareGetNonExisting(t *testing.T) {
var s Share = shareObj
s.Id = "nothing"
err := ShareGet(&s);
_, err := ShareGet(s.Id);
assert.Error(t, err, "Shouldn't be able to get something that doesn't exist yet")
}
@ -63,7 +66,7 @@ func TestShareGetExisting(t *testing.T) {
err := ShareUpsert(&shareObj);
assert.NoError(t, err, "Upsert issue")
err = ShareGet(&shareObj);
_, err = ShareGet(shareObj.Id);
assert.NoError(t, err)
}
@ -74,7 +77,7 @@ func TestShareGetExistingMakeSureDataIsOk(t *testing.T) {
var obj Share
obj.Id = "foo"
obj.Backend = shareObj.Backend
err = ShareGet(&obj);
obj, err = ShareGet(obj.Id);
assert.NoError(t, err)
assert.Equal(t, "foo", obj.Id)
assert.Equal(t, "/var/www/", obj.Path)
@ -96,7 +99,7 @@ func TestShareListAll(t *testing.T) {
assert.NoError(t, err, "Upsert issue")
// Actual test
list, err := ShareList(&shareObj)
list, err := ShareList(shareObj.Backend, shareObj.Path)
assert.NoError(t, err)
assert.Len(t, list, 1)
assert.NotNil(t, list[0].Password)
@ -110,14 +113,14 @@ func TestShareDeleteShares(t *testing.T) {
// Initialise test
err := ShareUpsert(&shareObj);
assert.NoError(t, err, "Upsert issue")
err = ShareGet(&shareObj)
shareObj, err = ShareGet(shareObj.Id)
assert.NoError(t, err)
// Actual Test
err = ShareDelete(&shareObj);
err = ShareDelete(shareObj.Id);
assert.NoError(t, err)
err = ShareGet(&shareObj)
_, err = ShareGet(shareObj.Id)
assert.Error(t, err)
}
@ -135,22 +138,22 @@ func TestShareVerifyEquivalence(t *testing.T) {
Key: p1.Key,
Id: "hash",
}
res := ShareProofAreEquivalent(p1, p2)
res := shareProofAreEquivalent(p1, p2)
assert.Equal(t, false, res)
p2.Id = Hash(p1.Key + "::" + p1.Value)
res = ShareProofAreEquivalent(p1, p2)
res = shareProofAreEquivalent(p1, p2)
assert.Equal(t, true, res)
p2.Key = "email"
res = ShareProofAreEquivalent(p1, p2)
res = shareProofAreEquivalent(p1, p2)
assert.Equal(t, false, res)
p1.Key = "email"
p1.Value = "test@gmail.com,polo@gmail.com,jean@gmail.com"
p2.Key = "email"
p2.Id = Hash(p1.Key + "::" + "polo@gmail.com")
res = ShareProofAreEquivalent(p1, p2)
res = shareProofAreEquivalent(p1, p2)
assert.Equal(t, true, res)
}