import (
"encoding/json"
"errors"
+ "math"
"net/url"
"os"
"strings"
- "git.curoverse.com/arvados.git/lib/controller/rpc"
- "git.curoverse.com/arvados.git/sdk/go/arvados"
- "git.curoverse.com/arvados.git/sdk/go/arvadostest"
+ "git.arvados.org/arvados.git/lib/controller/rpc"
+ "git.arvados.org/arvados.git/sdk/go/arvados"
+ "git.arvados.org/arvados.git/sdk/go/arvadostest"
check "gopkg.in/check.v1"
)
for _, updateFail := range []bool{false, true} {
for _, opts := range []arvados.ListOptions{
{Offset: 0, Limit: -1, Select: nil},
+ {Offset: 0, Limit: math.MaxInt64, Select: nil},
{Offset: 1, Limit: 1, Select: nil},
{Offset: 0, Limit: 2, Select: []string{"uuid"}},
{Offset: 0, Limit: 2, Select: []string{"uuid", "email"}},
s.fed.local = rpc.NewConn(s.cluster.ClusterID, spy.URL, true, rpc.PassthroughTokenProvider)
}
userlist, err := s.fed.UserList(s.ctx, opts)
+ if err != nil {
+ c.Logf("... UserList failed %q", err)
+ }
if updateFail && err == nil {
// All local updates fail, so the only
// cases expected to succeed are the
c.Check(stub.Calls(nil), check.HasLen, 0)
} else if updateFail {
c.Logf("... err %#v", err)
- calls := stub.Calls(stub.UserUpdate)
+ calls := stub.Calls(stub.UserBatchUpdate)
if c.Check(calls, check.HasLen, 1) {
c.Logf("... stub.UserUpdate called with options: %#v", calls[0].Options)
shouldUpdate := map[string]bool{
}
}
}
+ var uuid string
+ for uuid = range calls[0].Options.(arvados.UserBatchUpdateOptions).Updates {
+ }
for k, shouldFind := range shouldUpdate {
- _, found := calls[0].Options.(arvados.UpdateOptions).Attrs[k]
+ _, found := calls[0].Options.(arvados.UserBatchUpdateOptions).Updates[uuid][k]
c.Check(found, check.Equals, shouldFind, check.Commentf("offending attr: %s", k))
}
}
updates := 0
for _, d := range spy.RequestDumps {
d := string(d)
- if strings.Contains(d, "PATCH /arvados/v1/users/zzzzz-tpzed-") {
+ if strings.Contains(d, "PATCH /arvados/v1/users/batch") {
c.Check(d, check.Matches, `(?ms).*Authorization: Bearer `+arvadostest.SystemRootToken+`.*`)
updates++
}
}
c.Check(err, check.IsNil)
- c.Check(updates, check.Equals, len(userlist.Items))
+ c.Check(updates, check.Equals, 1)
c.Logf("... response items %#v", userlist.Items)
}
}