mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-30 01:26:43 +08:00
test (fix): broken tests
This commit is contained in:
55
.drone.yml
55
.drone.yml
@ -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
|
||||
- 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
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user