mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2024-12-14 10:13:10 +02:00
aa66fe75e4
* WIP: OS and Process resource detectors * Completed documentation headers * Added empty test files for OS and Process resource functions * Split long line * Added resource.WithOS function test * Added resource.WithProcess* functions tests * Renamed osDetector and WithOS function to better reflect they only add the os.type attribute * Updated changelog * WIP: possible use of wrappers for getting attribute values * Refined implementation of wrapper functions providing os/runtime/user information * Added PR number to new changelog entries Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Fix wrong function name in documentation header Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Fixed wording in WithProcessOwner documentation header Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> * Updated osTypeDetector * Replaced ToUpper with ToLower to match the current convention. * Used runtimeOS provider to get the OS name. * Adapted WithOSType test to mock runtime providers Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package resource_test
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"go.opentelemetry.io/otel/sdk/resource"
|
|
)
|
|
|
|
func mockRuntimeProviders() {
|
|
resource.SetRuntimeProviders(
|
|
fakeRuntimeNameProvider,
|
|
fakeRuntimeVersionProvider,
|
|
func() string { return "LINUX" },
|
|
fakeRuntimeArchProvider,
|
|
)
|
|
}
|
|
|
|
func TestWithOSType(t *testing.T) {
|
|
mockRuntimeProviders()
|
|
|
|
ctx := context.Background()
|
|
|
|
res, err := resource.New(ctx,
|
|
resource.WithoutBuiltin(),
|
|
resource.WithOSType(),
|
|
)
|
|
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, map[string]string{
|
|
"os.type": "linux",
|
|
}, toMap(res))
|
|
|
|
restoreProcessAttributesProviders()
|
|
}
|