mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
e67b9cff23
* add InfluxData object * add InfluxData rule * use InfluxData * include jenkins_custom_data into InfluxData object * correct typo * add missing import * fix condition for influx reporting * add test class * Update influxWriteData.groovy
105 lines
3.9 KiB
Groovy
105 lines
3.9 KiB
Groovy
package com.sap.piper.analytics
|
|
|
|
import org.junit.Rule
|
|
import org.junit.Before
|
|
import org.junit.Test
|
|
import static org.junit.Assert.assertThat
|
|
import static org.junit.Assume.assumeThat
|
|
import org.junit.rules.ExpectedException
|
|
import org.junit.rules.RuleChain
|
|
|
|
import static org.hamcrest.Matchers.containsString
|
|
import static org.hamcrest.Matchers.hasItem
|
|
import static org.hamcrest.Matchers.is
|
|
import static org.hamcrest.Matchers.not
|
|
import static org.hamcrest.Matchers.empty
|
|
import static org.hamcrest.Matchers.hasKey
|
|
import static org.hamcrest.Matchers.allOf
|
|
import static org.hamcrest.Matchers.hasEntry
|
|
|
|
import util.JenkinsLoggingRule
|
|
import util.JenkinsShellCallRule
|
|
import util.BasePiperTest
|
|
import util.Rules
|
|
|
|
class InfluxDataTest extends BasePiperTest {
|
|
private ExpectedException thrown = ExpectedException.none()
|
|
private JenkinsLoggingRule jlr = new JenkinsLoggingRule(this)
|
|
private JenkinsShellCallRule jscr = new JenkinsShellCallRule(this)
|
|
|
|
@Rule
|
|
public RuleChain rules = Rules
|
|
.getCommonRules(this)
|
|
.around(thrown)
|
|
.around(jscr)
|
|
.around(jlr)
|
|
|
|
@Before
|
|
void setup() {
|
|
InfluxData.instance = null
|
|
}
|
|
|
|
@Test
|
|
void testCreateInstance() {
|
|
InfluxData.getInstance()
|
|
// asserts
|
|
assertThat(InfluxData.instance.fields, allOf(
|
|
is(not(null)),
|
|
hasKey('jenkins_custom_data'),
|
|
hasKey('pipeline_data'),
|
|
hasKey('step_data')
|
|
))
|
|
assertThat(InfluxData.instance.fields.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.step_data, is([:]))
|
|
assertThat(InfluxData.instance.tags, allOf(
|
|
is(not(null)),
|
|
hasKey('jenkins_custom_data'),
|
|
hasKey('pipeline_data'),
|
|
hasKey('step_data')
|
|
))
|
|
assertThat(InfluxData.instance.tags.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.step_data, is([:]))
|
|
}
|
|
|
|
@Test
|
|
void testAddToDefaultMeasurement() {
|
|
InfluxData.addField('step_data', 'anyKey', 'anyValue')
|
|
InfluxData.addTag('step_data', 'anyKey', 'anyTag')
|
|
// asserts
|
|
assertThat(InfluxData.instance.fields.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.step_data, is(['anyKey': 'anyValue']))
|
|
assertThat(InfluxData.instance.tags.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.step_data, is(['anyKey': 'anyTag']))
|
|
}
|
|
|
|
@Test
|
|
void testAddToNewMeasurement() {
|
|
InfluxData.addField('new_measurement_data', 'anyKey', 'anyValue')
|
|
InfluxData.addTag('new_measurement_data', 'anyKey', 'anyTag')
|
|
// asserts
|
|
assertThat(InfluxData.instance.fields.new_measurement_data, is(['anyKey': 'anyValue']))
|
|
assertThat(InfluxData.instance.fields.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.step_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.new_measurement_data, is(['anyKey': 'anyTag']))
|
|
assertThat(InfluxData.instance.tags.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.tags.step_data, is([:]))
|
|
}
|
|
|
|
@Test
|
|
void testResetInstance() {
|
|
InfluxData.addField('step_data', 'anyKey', 'anyValue')
|
|
assumeThat(InfluxData.instance.fields.step_data, is(['anyKey': 'anyValue']))
|
|
InfluxData.reset()
|
|
// asserts
|
|
assertThat(InfluxData.instance.fields.jenkins_custom_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.pipeline_data, is([:]))
|
|
assertThat(InfluxData.instance.fields.step_data, is([:]))
|
|
}
|
|
}
|