// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 package keepbalance import ( "encoding/json" "git.arvados.org/arvados.git/sdk/go/arvados" check "gopkg.in/check.v1" ) var _ = check.Suite(&changeSetSuite{}) type changeSetSuite struct{} func (s *changeSetSuite) TestJSONFormat(c *check.C) { mnt := &KeepMount{ KeepMount: arvados.KeepMount{ UUID: "zzzzz-mount-abcdefghijklmno"}} srv := &KeepService{ KeepService: arvados.KeepService{ UUID: "zzzzz-bi6l4-000000000000001", ServiceType: "disk", ServiceSSLFlag: false, ServiceHost: "keep1.zzzzz.arvadosapi.com", ServicePort: 25107}} buf, err := json.Marshal([]Pull{{ SizedDigest: arvados.SizedDigest("acbd18db4cc2f85cedef654fccc4a4d8+3"), To: mnt, From: srv}}) c.Check(err, check.IsNil) c.Check(string(buf), check.Equals, `[{"locator":"acbd18db4cc2f85cedef654fccc4a4d8+3","servers":["http://keep1.zzzzz.arvadosapi.com:25107"],"mount_uuid":"zzzzz-mount-abcdefghijklmno"}]`) buf, err = json.Marshal([]Trash{{ SizedDigest: arvados.SizedDigest("acbd18db4cc2f85cedef654fccc4a4d8+3"), From: mnt, Mtime: 123456789}}) c.Check(err, check.IsNil) c.Check(string(buf), check.Equals, `[{"locator":"acbd18db4cc2f85cedef654fccc4a4d8+3","block_mtime":123456789,"mount_uuid":"zzzzz-mount-abcdefghijklmno"}]`) }