1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00
Files
opentelemetry-go/sdk/resource/os_test.go
T

56 lines
1.4 KiB
Go
Raw Normal View History

2021-04-23 15:28:13 +00:00
// Copyright The OpenTelemetry Authors
2024-02-29 07:05:28 +01:00
// SPDX-License-Identifier: Apache-2.0
2021-04-23 15:28:13 +00:00
package resource_test
import (
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/attribute"
2021-04-23 15:28:13 +00:00
"go.opentelemetry.io/otel/sdk/resource"
2024-01-11 12:56:07 +01:00
semconv "go.opentelemetry.io/otel/semconv/v1.24.0"
2021-04-23 15:28:13 +00:00
)
func mockRuntimeProviders() {
resource.SetRuntimeProviders(
fakeRuntimeNameProvider,
fakeRuntimeVersionProvider,
func() string { return "LINUX" },
fakeRuntimeArchProvider,
)
2021-07-08 20:35:27 +00:00
resource.SetOSDescriptionProvider(
func() (string, error) { return "Test", nil },
)
2021-04-23 15:28:13 +00:00
}
func TestMapRuntimeOSToSemconvOSType(t *testing.T) {
tt := []struct {
Name string
Goos string
OSType attribute.KeyValue
}{
{"Apple Darwin", "darwin", semconv.OSTypeDarwin},
{"DragonFly BSD", "dragonfly", semconv.OSTypeDragonflyBSD},
{"FreeBSD", "freebsd", semconv.OSTypeFreeBSD},
{"Linux", "linux", semconv.OSTypeLinux},
{"NetBSD", "netbsd", semconv.OSTypeNetBSD},
{"OpenBSD", "openbsd", semconv.OSTypeOpenBSD},
{"Oracle Solaris", "solaris", semconv.OSTypeSolaris},
{"Microsoft Windows", "windows", semconv.OSTypeWindows},
{"Unknown", "unknown", semconv.OSTypeKey.String("unknown")},
{"UNKNOWN", "UNKNOWN", semconv.OSTypeKey.String("unknown")},
}
for _, tc := range tt {
tc := tc
t.Run(tc.Name, func(t *testing.T) {
osTypeAttribute := resource.MapRuntimeOSToSemconvOSType(tc.Goos)
require.EqualValues(t, osTypeAttribute, tc.OSType)
})
}
}