Skip to content

Commit 1e79bc9

Browse files
authored
BT-745: Added by default application.session and application.version attributes (#115)
1 parent 8c5cdbf commit 1e79bc9

File tree

3 files changed

+17
-19
lines changed

3 files changed

+17
-19
lines changed

Sources/Features/Attributes/DefaultAttributes.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,8 @@ struct MetricsInfo: AttributesSource {
254254
}
255255

256256
var immutable: [String: Any?] {
257-
return MetricsInfo.isMetricsEnabled ?
258-
["application.version": Backtrace.applicationVersion,
259-
"application.session": MetricsInfo.session] :
260-
[:]
257+
return ["application.version": Backtrace.applicationVersion,
258+
"application.session": MetricsInfo.session];
261259
}
262260
}
263261

Tests/AttributesTests.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,13 @@ final class AttributesTests: QuickSpec {
7070
}
7171

7272
describe("Metrics Info") {
73-
it("will NOT set application.version and application.session if metrics attributes are NOT enabled") {
73+
it("will always set application.version and application.session even if metrics system is disabled") {
7474
let attributes = MetricsInfo()
75-
expect { attributes.immutable["application.version"]}.to(beNil())
76-
expect { attributes.immutable["application.session"]}.to(beNil())
75+
expect { attributes.immutable["application.version"]}.notTo(beNil())
76+
expect { attributes.immutable["application.session"]}.notTo(beNil())
7777
}
7878

79-
it("will set application.version and application.session if metrics attributes are enabled") {
79+
it("will always set application.version and application.session ") {
8080
let attributes = MetricsInfo()
8181
MetricsInfo.enableMetrics()
8282
expect { attributes.immutable["application.version"]}.toNot(beNil())
@@ -105,17 +105,17 @@ final class AttributesTests: QuickSpec {
105105
}
106106

107107
describe("Attributes Provider") {
108-
it("will NOT set application.version and application.session if metrics attributes are NOT enabled") {
108+
it("will set application.version and application.session even if metrics attributes are NOT enabled") {
109109
let attributes = AttributesProvider()
110-
expect { attributes.allAttributes["application.version"]}.to(beNil())
111-
expect { attributes.allAttributes["application.session"]}.to(beNil())
110+
expect { attributes.allAttributes["application.version"]}.notTo(beNil())
111+
expect { attributes.allAttributes["application.session"]}.notTo(beNil())
112112
}
113113

114-
it("will set application.version and application.session if metrics attributes are enabled") {
114+
it("will always set application.version and application.session ") {
115115
MetricsInfo.enableMetrics()
116116
let attributes = AttributesProvider()
117-
expect { attributes.allAttributes["application.version"]}.toNot(beNil())
118-
expect { attributes.allAttributes["application.session"]}.toNot(beNil())
117+
expect { attributes.allAttributes["application.version"]}.notTo(beNil())
118+
expect { attributes.allAttributes["application.session"]}.notTo(beNil())
119119
MetricsInfo.disableMetrics()
120120
}
121121
}

Tests/BacktraceReporterTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,23 +179,23 @@ final class BacktraceReporterTests: QuickSpec {
179179
expect { result2.report?.attributes["a"] }.to(beNil())
180180
}
181181

182-
it("report should NOT have metrics attributes if metrics is NOT enabled") {
182+
it("report should have application version and session attributes") {
183183
let delegate = BacktraceClientDelegateMock()
184184
let backtraceReport = try reporter.generate()
185185
urlSession.response = MockOkResponse()
186186
backtraceApi.delegate = delegate
187187

188188
delegate.willSendClosure = { report in
189-
expect { report.attributes["application.session"] }.to(beNil())
190-
expect { report.attributes["application.version"] }.to(beNil())
189+
expect { report.attributes["application.session"] }.notTo(beNil())
190+
expect { report.attributes["application.version"] }.notTo(beNil())
191191
return report
192192
}
193193

194194
let result = reporter.send(resource: backtraceReport)
195195

196196
expect { result.backtraceStatus }.to(equal(.ok))
197-
expect { result.report?.attributes["application.session"] }.to(beNil())
198-
expect { result.report?.attributes["application.version"] }.to(beNil())
197+
expect { result.report?.attributes["application.session"] }.notTo(beNil())
198+
expect { result.report?.attributes["application.version"] }.notTo(beNil())
199199
}
200200

201201
it("report should have metrics attributes if metrics is enabled") {

0 commit comments

Comments
 (0)