// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 package config import ( "bytes" "regexp" "strings" check "gopkg.in/check.v1" ) var _ = check.Suite(&ExportSuite{}) type ExportSuite struct{} func (s *ExportSuite) TestExport(c *check.C) { confdata := strings.Replace(string(DefaultYAML), "SAMPLE", "12345", -1) cfg, err := testLoader(c, confdata, nil).Load() c.Assert(err, check.IsNil) cluster, err := cfg.GetCluster("xxxxx") c.Assert(err, check.IsNil) cluster.ManagementToken = "abcdefg" var exported bytes.Buffer err = ExportJSON(&exported, cluster) c.Check(err, check.IsNil) if err != nil { c.Logf("If all the new keys are safe, add these to whitelist in export.go:") for _, k := range regexp.MustCompile(`"[^"]*"`).FindAllString(err.Error(), -1) { c.Logf("\t%q: true,", strings.Replace(k, `"`, "", -1)) } } var exportedStr = exported.String() c.Check(exportedStr, check.Matches, `(?ms).*ClusterID":"xxxxx.*`) c.Check(exportedStr, check.Not(check.Matches), `(?ms).*abcdefg.*`) }