Skip to content

Commit

Permalink
test: Introduce basic testing for the version module (#1111)
Browse files Browse the repository at this point in the history
  • Loading branch information
orpheuslummis authored Feb 16, 2023
1 parent a6995d6 commit f80d8e1
Showing 1 changed file with 80 additions and 0 deletions.
80 changes: 80 additions & 0 deletions version/version_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// Copyright 2022 Democratized Data Foundation
//
// Use of this software is governed by the Business Source License
// included in the file licenses/BSL.txt.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0, included in the file
// licenses/APL.txt.

package version

import (
"encoding/json"
"testing"

"github.com/stretchr/testify/assert"
)

func TestNewDefraVersion(t *testing.T) {
dv, err := NewDefraVersion()
assert.NoError(t, err)

assert.NotEmpty(t, dv.VersionHTTPAPI)
assert.NotEmpty(t, dv.NetProtocol)
assert.NotEmpty(t, dv.DocKeyVersions)

// These variables are set in the Makefile via BUILD_FLAGS when building defradb.
// This test assumes the test suite is not using these BUILD_FLAGS.
// Therefore, we expect them to be empty in this unit test.
assert.Empty(t, dv.GoInfo)
assert.Empty(t, dv.Release)
assert.Empty(t, dv.Commit)
assert.Empty(t, dv.CommitDate)
}

func TestDefraVersionString(t *testing.T) {
dv := defraVersion{
Release: "test-release",
Commit: "abc123def456",
CommitDate: "2022-01-01T12:00:00Z",
GoInfo: "1.17.5",
}
assert.Equal(t, dv.String(), "defradb test-release (abc123de 2022-01-01T12:00:00Z) built with Go 1.17.5")
}

func TestDefraVersionStringFull(t *testing.T) {
dv := defraVersion{
Release: "test-release",
Commit: "abc123def456",
CommitDate: "2022-01-01T12:00:00Z",
GoInfo: "1.17.5",
VersionHTTPAPI: "v0",
DocKeyVersions: "1",
NetProtocol: "/defra/0.0.1",
}

expected := `defradb test-release (abc123de 2022-01-01T12:00:00Z)
* HTTP API: v0
* P2P multicodec: /defra/0.0.1
* DocKey versions: 1
* Go: 1.17.5`

assert.Equal(t, expected, dv.StringFull())
}

func TestDefraVersion_JSON(t *testing.T) {
dv1 := defraVersion{
Release: "test-release",
Commit: "abc123def456",
CommitDate: "2022-01-01T12:00:00Z",
GoInfo: "go1.17.5",
VersionHTTPAPI: "1.2.3",
DocKeyVersions: "0123456789abcdef",
NetProtocol: "test-protocol",
}

_, err := json.Marshal(dv1)
assert.NoError(t, err)
}

0 comments on commit f80d8e1

Please sign in to comment.