mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-10-31 10:07:15 +08:00 
			
		
		
		
	test (fix): broken tests
This commit is contained in:
		
							
								
								
									
										53
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										53
									
								
								.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 | ||||
|  | ||||
|   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
	 Mickael KERJEAN
					Mickael KERJEAN