[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