Skip to content

Commit

Permalink
feat: Pin on publish
Browse files Browse the repository at this point in the history
Merge pull request #476 from qri-io/pin_on_publish
  • Loading branch information
b5 authored Jul 3, 2018
2 parents 6d881e1 + 644aa3c commit 2a7d8d7
Show file tree
Hide file tree
Showing 20 changed files with 178 additions and 53 deletions.
2 changes: 1 addition & 1 deletion api/testdata/statusResponse.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "meta": { "code": 200, "status": "ok" }, "data": [] }
{ "meta": { "code": 200, "status": "ok" }, "data": null }
4 changes: 3 additions & 1 deletion cmd/cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,9 @@ func TestCommandsIntegration(t *testing.T) {

//clean up if previous cleanup failed
if _, err := os.Stat(path); os.IsNotExist(err) {
os.RemoveAll(path)
if err := os.RemoveAll(path); err != nil {
t.Fatalf("failed to cleanup from previous test execution: %s", err.Error())
}
}
if err := os.MkdirAll(path, os.ModePerm); err != nil {
t.Errorf("error creating test path: %s", err.Error())
Expand Down
2 changes: 1 addition & 1 deletion cmd/connect.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func (o *ConnectOptions) Complete(f Factory, args []string) (err error) {
qriPath := f.QriRepoPath()

if o.Setup && !QRIRepoInitialized(qriPath) {
so := &SetupOptions{IOStreams: o.IOStreams, IPFS: true}
so := &SetupOptions{IOStreams: o.IOStreams, IPFS: true, Registry: o.Registry}
if err = so.Complete(f, args); err != nil {
return err
}
Expand Down
4 changes: 2 additions & 2 deletions cmd/qri.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,15 +205,15 @@ func (o *QriOptions) DatasetRequests() (*lib.DatasetRequests, error) {
if err := o.init(); err != nil {
return nil, err
}
return lib.NewDatasetRequests(o.repo, o.rpc), nil
return lib.NewDatasetRequestsWithNode(o.repo, o.rpc, o.node), nil
}

// RegistryRequests generates a lib.RegistryRequests from internal state
func (o *QriOptions) RegistryRequests() (*lib.RegistryRequests, error) {
if err := o.init(); err != nil {
return nil, err
}
return lib.NewRegistryRequests(o.repo, o.rpc), nil
return lib.NewRegistryRequestsWithNode(o.repo, o.rpc, o.node), nil
}

// HistoryRequests generates a lib.HistoryRequests from internal state
Expand Down
7 changes: 6 additions & 1 deletion cmd/registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,12 @@ func (o *RegistryOptions) Publish() error {
return err
}

if err = o.RegistryRequests.Publish(&ref, &res); err != nil {
p := &lib.PublishParams{
Ref: ref,
Pin: true,
}

if err = o.RegistryRequests.Publish(p, &res); err != nil {
return err
}
printInfo(o.Out, "published dataset %s", ref)
Expand Down
4 changes: 2 additions & 2 deletions cmd/remove_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func TestRemoveComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -99,7 +99,7 @@ func TestRemoveRun(t *testing.T) {
defer func() { dsfs.Timestamp = prev }()
dsfs.Timestamp = func() time.Time { return time.Date(2001, 01, 01, 01, 01, 01, 01, time.UTC) }

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
4 changes: 2 additions & 2 deletions cmd/rename_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ func TestRenameComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -100,7 +100,7 @@ func TestRenameRun(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
4 changes: 2 additions & 2 deletions cmd/render_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ func TestRenderComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -90,7 +90,7 @@ func TestRenderRun(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
6 changes: 3 additions & 3 deletions cmd/save.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ collaboration are in the works. Sit tight sportsfans.`,
cmd.Flags().StringVarP(&o.BodyPath, "body", "", "", "path to file or url of data to add as dataset contents")
// cmd.Flags().BoolVarP(&o.ShowValidation, "show-validation", "s", false, "display a list of validation errors upon adding")
cmd.Flags().StringSliceVar(&o.Secrets, "secrets", nil, "transform secrets as comma separated key,value,key,value,... sequence")
cmd.Flags().BoolVarP(&o.NoRegistry, "no-registry", "n", false, "don't publish this dataset to the registry")
cmd.Flags().BoolVarP(&o.Publish, "publish", "p", false, "publish this dataset to the registry")

return cmd
}
Expand All @@ -71,7 +71,7 @@ type SaveOptions struct {
Passive bool
Rescursive bool
ShowValidation bool
NoRegistry bool
Publish bool
Secrets []string

DatasetRequests *lib.DatasetRequests
Expand Down Expand Up @@ -161,7 +161,7 @@ continue?`, true) {
p := &lib.SaveParams{
Dataset: dsp,
Private: false,
Publish: !o.NoRegistry,
Publish: o.Publish,
}

res := &repo.DatasetRef{}
Expand Down
30 changes: 18 additions & 12 deletions cmd/save_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ import (

"github.com/qri-io/dataset/dsfs"
"github.com/qri-io/qri/lib"
"github.com/qri-io/registry/regserver/mock"
)

func TestSaveComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -108,28 +109,33 @@ func TestSaveRun(t *testing.T) {
defer func() { dsfs.Timestamp = prev }()
dsfs.Timestamp = func() time.Time { return time.Date(2001, 01, 01, 01, 01, 01, 01, time.UTC) }

f, err := NewTestFactory()
c, _ := mock.NewMockServerWithMemPinset()

f, err := NewTestFactory(c)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
}

// TODO - this is bad
lib.Config = f.config

_, ok := currentPath()
if !ok {
t.Errorf("error getting path to current folder")
return
}

cases := []struct {
ref string
filepath string
bodypath string
title string
message string
noRegistry bool
expect string
err string
msg string
ref string
filepath string
bodypath string
title string
message string
publish bool
expect string
err string
msg string
}{
{"me/bad_dataset", "", "", "", "", false, "", "error getting previous dataset: repo: not found", ""},
{"me/cities", "bad/filpath.json", "", "", "", false, "", "open bad/filpath.json: no such file or directory", ""},
Expand All @@ -153,7 +159,7 @@ func TestSaveRun(t *testing.T) {
BodyPath: c.bodypath,
Title: c.title,
Message: c.message,
NoRegistry: c.noRegistry,
Publish: c.publish,
DatasetRequests: dsr,
}

Expand Down
14 changes: 12 additions & 2 deletions cmd/search_test.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package cmd

import (
"net/http"
"net/http/httptest"
"testing"

"github.com/qri-io/qri/lib"
"github.com/qri-io/registry/regclient"
)

func TestSearchComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -89,7 +92,14 @@ func TestSearchRun(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
// mock registry server that returns fake response data
var mockResponse = []byte(`{"data":[{"Type":"","ID":"ramfox/test","Value":null},{"Type":"","ID":"b5/test","Value":{"commit":{"path":"/","signature":"JI/VSNqMuFGYVEwm3n8ZMjZmey+W2mhkD5if2337wDp+kaYfek9DntOyZiILXocW5JuOp48EqcsWf/BwhejQiYZ2utaIzR8VcMPo7u7c5nz2G6JTsoW+u9UUaKRVtl30jh6Kg1O2bnhYh9v4qW9VQgxOYfdhBl6zT4cYcjm1UkrblEe/wh494k9NziM5Bi2ATGRE2m71Lsf/TEDoNI549SebLQ1dsWXr1kM7lCeFqlDVjgbKQmGXowqcK/P9v+RBIRCnArnwFe/BQq4i1wmmnMEqpuUnfWR3xfJTE1DUMVaAid7U0jTWGVxROUdKk6mmTzlb1PiNdfruP+SFhjyQwQ==","timestamp":"2018-05-25T13:44:54.692493401Z","title":"created dataset"},"meta":{"citations":[{"url":"https://api.github.com/repos/qri-io/qri/releases"}],"qri":"md:0"},"path":"/ipfs/QmPi5wrPsY4xPwy2oRr7NRZyfFxTeupfmnrVDubzoABLNP","qri":"","structure":{"checksum":"QmQXfdYYubCvr9ePJtgABpp7N1fNsAnnywUJPYAJTvDhrn","errCount":0,"entries":7,"format":"json","length":19116,"qri":"","schema":{"type":"array"}},"transform":{"config":{"org":"qri-io","repo":"qri"},"path":"/","syntax":"skylark"},"Handle":"b5","Name":"test","PublicKey":"CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/W17VPFX+pjyM1MHI1CsvIe+JYQX45MJNITTd7hZZDX2rRWVavGXhsccmVDGU6ubeN3t6ewcBlgCxvyewwKhmZKCAs3/0xNGKXK/YMyZpRVjTWw9yPU9gOzjd9GuNJtL7d1Hl7dPt9oECa7WBCh0W9u2IoHTda4g8B2mK92awLOZTjXeA7vbhKKX+QVHKDxEI0U2/ooLYJUVxEoHRc+DUYNPahX5qRgJ1ZDP4ep1RRRoZR+HjGhwgJP+IwnAnO5cRCWUbZvE1UBJUZDvYMqW3QvDp+TtXwqUWVvt69tp8EnlBgfyXU91A58IEQtLgZ7klOzdSEJDP+S8HIwhG/vbTAgMBAAE="}},{"Type":"","ID":"EDGI/fib_6","Value":{"commit":{"path":"/","signature":"dG6NoEFlQ9ILFjVDrecSDlUbDPRSiwK9kFQ3vjTh/4tpfgrT5EOw6eGDx75lklx0DWx51s3AC2Qqytll2JwwCB6SMVVl0I9qnZJ4XQVG+MX4hGeIJ4crGCSts85unDvmiQCfc4EVqPYZKLzaVqjXa43zv5mJPfRA2ktTew3VGkOcg8RmyU6e2XWrZpkILcZg1jt2apKs5qHslx4klKBVPtQIr53/U61OW4tzME9kz08FYrk2F7I5FHWy45W7VU8DpzCbhw6kxJXu2KYD1QstsZGCKH93sZY3agP4XGY15HeEOTib465LK6+nsoBtrsroQSOTBHzVgyUZACNom5SUvQ==","timestamp":"2018-05-23T19:50:03.307982846Z","title":"created dataset"},"meta":{"description":"test of skylark as a transformation language","qri":"md:0","title":"Fibonacci(6)"},"path":"/ipfs/QmS6jJSEJYxZvCeo8cZqzVa7Ybu9yNQeFYfNZAHxM4eyDK","qri":"","structure":{"checksum":"QmdhDDZTAWoifKCWwFrZqzKUyXM6rN7ThdP1u67rkeJvTj","errCount":0,"entries":6,"format":"cbor","length":7,"qri":"","schema":{"type":"array"}},"transform":{"syntax":"skylark"},"Handle":"EDGI","Name":"fib_6","PublicKey":"CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmTFRx/6dKmoxje8AG+jFv94IcGUGnjrupa7XEr12J/c4ZLn3aPrD8F0tjRbstt1y/J+bO7Qb69DGiu2iSIqyE21nl2oex5+14jtxbupRq9jRTbpUHRj+y9I7uUDwl0E2FS1IQpBBfEGzDPIBVavxbhguC3O3XA7Aq7vea2lpJ1tWpr0GDRYSNmJAybkHS6k7dz1eVXFK+JE8FGFJi/AThQZKWRijvWFdlZvb8RyNFRHzpbr9fh38bRMTqhZpw/YGO5Ly8PNSiOOE4Y5cNUHLEYwG2/lpT4l53iKScsaOazlRkJ6NmkM1il7riCa55fcIAQZDtaAx+CT5ZKfmek4P5AgMBAAE="}}],"meta":{"code":200}}`)
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write(mockResponse)
}))
rc := regclient.NewClient(&regclient.Config{Location: server.URL})

f, err := NewTestFactory(rc)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
15 changes: 5 additions & 10 deletions cmd/test_factory.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package cmd

import (
"net/http"
"net/http/httptest"
"net/rpc"

"github.com/qri-io/qri/config"
Expand All @@ -29,12 +27,11 @@ type TestFactory struct {
}

// NewTestFactory creates TestFactory object with an in memory test repo
func NewTestFactory() (tf TestFactory, err error) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write(mockResponse)
}))
rc := regclient.NewClient(&regclient.Config{Location: server.URL})
repo, err := test.NewTestRepo(rc)
// with an optional registry client. In tests users can create mock registry
// servers and pass in a client connected to that mock, or omit the registry
// client entirely for testing without a designated registry
func NewTestFactory(c *regclient.Client) (tf TestFactory, err error) {
repo, err := test.NewTestRepo(c)
if err != nil {
return
}
Expand Down Expand Up @@ -116,5 +113,3 @@ func (t TestFactory) SearchRequests() (*lib.SearchRequests, error) {
func (t TestFactory) RenderRequests() (*lib.RenderRequests, error) {
return lib.NewRenderRequests(t.repo, t.rpc), nil
}

var mockResponse = []byte(`{"data":[{"Type":"","ID":"ramfox/test","Value":null},{"Type":"","ID":"b5/test","Value":{"commit":{"path":"/","signature":"JI/VSNqMuFGYVEwm3n8ZMjZmey+W2mhkD5if2337wDp+kaYfek9DntOyZiILXocW5JuOp48EqcsWf/BwhejQiYZ2utaIzR8VcMPo7u7c5nz2G6JTsoW+u9UUaKRVtl30jh6Kg1O2bnhYh9v4qW9VQgxOYfdhBl6zT4cYcjm1UkrblEe/wh494k9NziM5Bi2ATGRE2m71Lsf/TEDoNI549SebLQ1dsWXr1kM7lCeFqlDVjgbKQmGXowqcK/P9v+RBIRCnArnwFe/BQq4i1wmmnMEqpuUnfWR3xfJTE1DUMVaAid7U0jTWGVxROUdKk6mmTzlb1PiNdfruP+SFhjyQwQ==","timestamp":"2018-05-25T13:44:54.692493401Z","title":"created dataset"},"meta":{"citations":[{"url":"https://api.github.com/repos/qri-io/qri/releases"}],"qri":"md:0"},"path":"/ipfs/QmPi5wrPsY4xPwy2oRr7NRZyfFxTeupfmnrVDubzoABLNP","qri":"","structure":{"checksum":"QmQXfdYYubCvr9ePJtgABpp7N1fNsAnnywUJPYAJTvDhrn","errCount":0,"entries":7,"format":"json","length":19116,"qri":"","schema":{"type":"array"}},"transform":{"config":{"org":"qri-io","repo":"qri"},"path":"/","syntax":"skylark"},"Handle":"b5","Name":"test","PublicKey":"CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/W17VPFX+pjyM1MHI1CsvIe+JYQX45MJNITTd7hZZDX2rRWVavGXhsccmVDGU6ubeN3t6ewcBlgCxvyewwKhmZKCAs3/0xNGKXK/YMyZpRVjTWw9yPU9gOzjd9GuNJtL7d1Hl7dPt9oECa7WBCh0W9u2IoHTda4g8B2mK92awLOZTjXeA7vbhKKX+QVHKDxEI0U2/ooLYJUVxEoHRc+DUYNPahX5qRgJ1ZDP4ep1RRRoZR+HjGhwgJP+IwnAnO5cRCWUbZvE1UBJUZDvYMqW3QvDp+TtXwqUWVvt69tp8EnlBgfyXU91A58IEQtLgZ7klOzdSEJDP+S8HIwhG/vbTAgMBAAE="}},{"Type":"","ID":"EDGI/fib_6","Value":{"commit":{"path":"/","signature":"dG6NoEFlQ9ILFjVDrecSDlUbDPRSiwK9kFQ3vjTh/4tpfgrT5EOw6eGDx75lklx0DWx51s3AC2Qqytll2JwwCB6SMVVl0I9qnZJ4XQVG+MX4hGeIJ4crGCSts85unDvmiQCfc4EVqPYZKLzaVqjXa43zv5mJPfRA2ktTew3VGkOcg8RmyU6e2XWrZpkILcZg1jt2apKs5qHslx4klKBVPtQIr53/U61OW4tzME9kz08FYrk2F7I5FHWy45W7VU8DpzCbhw6kxJXu2KYD1QstsZGCKH93sZY3agP4XGY15HeEOTib465LK6+nsoBtrsroQSOTBHzVgyUZACNom5SUvQ==","timestamp":"2018-05-23T19:50:03.307982846Z","title":"created dataset"},"meta":{"description":"test of skylark as a transformation language","qri":"md:0","title":"Fibonacci(6)"},"path":"/ipfs/QmS6jJSEJYxZvCeo8cZqzVa7Ybu9yNQeFYfNZAHxM4eyDK","qri":"","structure":{"checksum":"QmdhDDZTAWoifKCWwFrZqzKUyXM6rN7ThdP1u67rkeJvTj","errCount":0,"entries":6,"format":"cbor","length":7,"qri":"","schema":{"type":"array"}},"transform":{"syntax":"skylark"},"Handle":"EDGI","Name":"fib_6","PublicKey":"CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmTFRx/6dKmoxje8AG+jFv94IcGUGnjrupa7XEr12J/c4ZLn3aPrD8F0tjRbstt1y/J+bO7Qb69DGiu2iSIqyE21nl2oex5+14jtxbupRq9jRTbpUHRj+y9I7uUDwl0E2FS1IQpBBfEGzDPIBVavxbhguC3O3XA7Aq7vea2lpJ1tWpr0GDRYSNmJAybkHS6k7dz1eVXFK+JE8FGFJi/AThQZKWRijvWFdlZvb8RyNFRHzpbr9fh38bRMTqhZpw/YGO5Ly8PNSiOOE4Y5cNUHLEYwG2/lpT4l53iKScsaOazlRkJ6NmkM1il7riCa55fcIAQZDtaAx+CT5ZKfmek4P5AgMBAAE="}}],"meta":{"code":200}}`)
4 changes: 2 additions & 2 deletions cmd/use_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ func TestUseComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -99,7 +99,7 @@ func TestUseRun(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
4 changes: 2 additions & 2 deletions cmd/validate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ func TestValidateComplete(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down Expand Up @@ -99,7 +99,7 @@ func TestValidateRun(t *testing.T) {
streams, in, out, errs := NewTestIOStreams()
setNoColor(true)

f, err := NewTestFactory()
f, err := NewTestFactory(nil)
if err != nil {
t.Errorf("error creating new test factory: %s", err)
return
Expand Down
7 changes: 4 additions & 3 deletions lib/datasets.go
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,8 @@ func (r *DatasetRequests) Init(p *SaveParams, res *repo.DatasetRef) (err error)
if p.Publish {
// fmt.Println("posting dataset to registry ...")
var done bool
if err = NewRegistryRequests(r.repo, nil).Publish(res, &done); err != nil {

if err = NewRegistryRequests(r.repo, nil).Publish(&PublishParams{Ref: *res, Pin: true}, &done); err != nil {
return err
}
// fmt.Println("done")
Expand Down Expand Up @@ -532,15 +533,15 @@ func (r *DatasetRequests) Save(p *SaveParams, res *repo.DatasetRef) (err error)

ref, err := r.repo.CreateDataset(dsp.Name, ds, dataFile, secrets, true)
if err != nil {
log.Errorf("create ds error: %s\n", err.Error())
log.Debugf("create ds error: %s\n", err.Error())
return err
}
ref.Dataset = ds.Encode()

if p.Publish {
fmt.Println("posting dataset to registry ...")
var done bool
if err = NewRegistryRequests(r.repo, nil).Publish(&ref, &done); err != nil {
if err = NewRegistryRequests(r.repo.Repo, nil).Publish(&PublishParams{Ref: ref, Pin: true}, &done); err != nil {
return err
}
fmt.Println("done")
Expand Down
2 changes: 1 addition & 1 deletion lib/datasets_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func TestDatasetRequestsInit(t *testing.T) {
w.Write([]byte(`\\\{"json":"data"}`))
}))

rc, _ := regmock.NewMockServer()
rc, _ := regmock.NewMockServerWithMemPinset()
mr, err := testrepo.NewTestRepo(rc)
if err != nil {
t.Errorf("error allocating test repo: %s", err.Error())
Expand Down
Loading

0 comments on commit 2a7d8d7

Please sign in to comment.