blob: 7fc1803db64b306906f35370bc66e08f4e19059a [file] [log] [blame]
// Copyright 2023 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package common
import (
"encoding/json"
"fmt"
"testing"
"github.com/google/go-cmp/cmp"
"go.chromium.org/chromiumos/test/execution/cmd/cros-test/internal/device"
)
func TestGenHostInfoStore(t *testing.T) {
primary := &device.DutInfo{
Addr: "foo",
Phase: "aphase",
Sku: "asku",
Model: "amodel",
Board: "aboard",
HWID: "123abc",
ServoHostname: "foo-bar.cros",
}
expected := make(map[string]string)
expected["HWID"] = primary.HWID
expected["servo_host"] = primary.ServoHostname
expectedLabels := []string{
fmt.Sprintf("board:%v", primary.Board),
fmt.Sprintf("model:%v", primary.Model),
fmt.Sprintf("sku:%v", primary.Sku),
fmt.Sprintf("phase:%v", primary.Phase)}
ExpectedhostInfo := &HostInfo{Attributes: expected, Labels: expectedLabels}
b, _ := json.MarshalIndent(ExpectedhostInfo, "", " ")
c, err := genHostInfoFileContent(primary)
if err != nil {
t.Errorf("Got unexpected err: %v", err)
}
fmt.Println(string(c))
fmt.Println(string(b))
if diff := cmp.Diff(c, b); diff != "" {
t.Errorf("Expected != Actual: %v", diff)
}
}