diff --git a/sdk/resource/resource.go b/sdk/resource/resource.go index 2ebf5fae4b6..6bb2a2805aa 100644 --- a/sdk/resource/resource.go +++ b/sdk/resource/resource.go @@ -132,6 +132,9 @@ func (r *Resource) Attributes() []attribute.KeyValue { } func (r *Resource) SchemaURL() string { + if r == nil { + return "" + } return r.schemaURL } diff --git a/sdk/resource/resource_test.go b/sdk/resource/resource_test.go index 20edebd0b48..c461f047955 100644 --- a/sdk/resource/resource_test.go +++ b/sdk/resource/resource_test.go @@ -205,6 +205,17 @@ func TestMerge(t *testing.T) { } } +func TestEmpty(t *testing.T) { + var res *resource.Resource + assert.Equal(t, "", res.SchemaURL()) + assert.Equal(t, "", res.String()) + assert.Equal(t, []attribute.KeyValue(nil), res.Attributes()) + + it := res.Iter() + assert.Equal(t, 0, it.Len()) + assert.True(t, res.Equal(res)) +} + func TestDefault(t *testing.T) { res := resource.Default() require.False(t, res.Equal(resource.Empty()))