[ARVADOS] updated: 560ceadf0e0e5f513de82de282f3b09bf211477d

git at public.curoverse.com git at public.curoverse.com
Sat Mar 7 19:22:58 EST 2015


Summary of changes:
 services/keepstore/pull_worker.go                  |  5 +-
 services/keepstore/pull_worker_integration_test.go | 79 ++++++++++++++++++++++
 2 files changed, 81 insertions(+), 3 deletions(-)
 create mode 100644 services/keepstore/pull_worker_integration_test.go

       via  560ceadf0e0e5f513de82de282f3b09bf211477d (commit)
      from  f54333c878b8d6bd5f78061b3ba406bee6abad36 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 560ceadf0e0e5f513de82de282f3b09bf211477d
Author: Radhika Chippada <radhika at curoverse.com>
Date:   Sat Mar 7 19:22:11 2015 -0500

    3761: (WIP) add integration test for pull_worker

diff --git a/services/keepstore/pull_worker.go b/services/keepstore/pull_worker.go
index 5a631e0..fac4bb1 100644
--- a/services/keepstore/pull_worker.go
+++ b/services/keepstore/pull_worker.go
@@ -23,7 +23,7 @@ func RunPullWorker(pullq *WorkQueue, keepClient keepclient.KeepClient) {
 	nextItem := pullq.NextItem
 	for item := range nextItem {
 		pullRequest := item.(PullRequest)
-		err := Pull(item.(PullRequest), keepClient)
+		err := PullItemAndProcess(item.(PullRequest), GenerateRandomApiToken(), keepClient)
 		if err == nil {
 			log.Printf("Pull %s success", pullRequest)
 		} else {
@@ -39,8 +39,7 @@ func RunPullWorker(pullq *WorkQueue, keepClient keepclient.KeepClient) {
 		Using this token & signature, retrieve the given block.
 		Write to storage
 */
-func Pull(pullRequest PullRequest, keepClient keepclient.KeepClient) (err error) {
-	token := GenerateRandomApiToken()
+func PullItemAndProcess(pullRequest PullRequest, token string, keepClient keepclient.KeepClient) (err error) {
 	keepClient.Arvados.ApiToken = token
 
 	service_roots := make(map[string]string)
diff --git a/services/keepstore/pull_worker_integration_test.go b/services/keepstore/pull_worker_integration_test.go
new file mode 100644
index 0000000..27c8fcd
--- /dev/null
+++ b/services/keepstore/pull_worker_integration_test.go
@@ -0,0 +1,79 @@
+package main
+
+import (
+	"crypto/tls"
+	"git.curoverse.com/arvados.git/sdk/go/arvadosclient"
+	"git.curoverse.com/arvados.git/sdk/go/arvadostest"
+	"git.curoverse.com/arvados.git/sdk/go/keepclient"
+	"net/http"
+	"os"
+	"testing"
+)
+
+type PullWorkIntegrationTestData struct {
+	Name    string
+	Locator string
+	Content string
+}
+
+func TestPullWorkerIntegration_GetLocator(t *testing.T) {
+	arvadostest.StartAPI()
+	arvadostest.StartKeep()
+
+	testData := PullWorkIntegrationTestData{
+		Name:    "TestPullWorkerIntegration_GetLocator",
+		Locator: "5d41402abc4b2a76b9719d911017c592",
+		Content: "hello",
+	}
+
+	performPullWorkerIntegrationTest(testData, t)
+}
+
+func performPullWorkerIntegrationTest(testData PullWorkIntegrationTestData, t *testing.T) {
+	os.Setenv("ARVADOS_API_HOST_INSECURE", "true")
+
+	PermissionSecret = []byte("abc123")
+
+	arv, err := arvadosclient.MakeArvadosClient()
+	if err != nil {
+		t.Error("Error creating arv")
+	}
+
+	client := &http.Client{Transport: &http.Transport{
+		TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}}
+
+	keepClient := keepclient.KeepClient{
+		Arvados:       &arv,
+		Want_replicas: 2,
+		Using_proxy:   true,
+		Client:        client,
+	}
+
+	random_token := GenerateRandomApiToken()
+	keepClient.Arvados.ApiToken = random_token
+
+	if err != nil {
+		t.Error("Error creating keepclient")
+	}
+
+	pullq = NewWorkQueue()
+	go RunPullWorker(pullq, keepClient)
+
+	servers := make([]string, 1)
+	servers[0] = "https://" + os.Getenv("ARVADOS_API_HOST") + "/arvados/v1/keep_services"
+	pullRequest := PullRequest{
+		Locator: testData.Locator,
+		Servers: servers,
+	}
+
+	PullItemAndProcess(pullRequest, random_token, keepClient)
+
+	// Override PutContent to mock PutBlock functionality
+	PutContent = func(content []byte, locator string) (err error) {
+		// do nothing
+		return
+	}
+
+	pullq.Close()
+	pullq = nil
+}

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list