hs-opentelemetry-api-0.2.0.0: test/OpenTelemetry/InstrumentationLibrarySpec.hs
module OpenTelemetry.InstrumentationLibrarySpec where
import OpenTelemetry.Attributes
import OpenTelemetry.Internal.Common.Types
import Test.Hspec
spec :: Spec
spec = describe "InstrumentationLibrary" $ do
describe "parsing" $ do
it "handles a simple example basic example" $ do
parseInstrumentationLibrary "hello-world-1.0.5"
`shouldBe` Just (InstrumentationLibrary {libraryName = "hello-world", libraryVersion = "1.0.5", librarySchemaUrl = "", libraryAttributes = emptyAttributes})
it "handles capital letters and numbers in package names" $ do
parseInstrumentationLibrary "HUnit2-v3-1"
`shouldBe` Just (InstrumentationLibrary {libraryName = "HUnit2-v3", libraryVersion = "1", librarySchemaUrl = "", libraryAttributes = emptyAttributes})
it "discards trailing content" $ do
parseInstrumentationLibrary "hello-world-1.0.5-inplace"
`shouldBe` Just (InstrumentationLibrary {libraryName = "hello-world", libraryVersion = "1.0.5", librarySchemaUrl = "", libraryAttributes = emptyAttributes})
it "handles missing version" $ do
parseInstrumentationLibrary "hello-world"
`shouldBe` Just (InstrumentationLibrary {libraryName = "hello-world", libraryVersion = "", librarySchemaUrl = "", libraryAttributes = emptyAttributes})