Skip to content
This repository was archived by the owner on Dec 21, 2023. It is now read-only.

Commit

Permalink
Merge pull request #264 from keptn/feature/2982/keptnspecversion
Browse files Browse the repository at this point in the history
#2982 added shkeptnspecversion property
  • Loading branch information
bacherfl authored Feb 24, 2021
2 parents 2b994d3 + 7c821dc commit 1a95286
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 16 deletions.
3 changes: 3 additions & 0 deletions pkg/api/models/keptn_context_extended_c_e.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pkg/lib/v0_2_0/events.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ const keptnFinishedEventSuffix = ".finished"
const keptnInvalidatedEventSuffix = ".invalidated"

const keptnContextCEExtension = "shkeptncontext"
const keptnSpecVersionCEExtension = "shkeptnspecversion"
const triggeredIDCEExtension = "triggeredid"

// HTTPEventSender sends CloudEvents via HTTP
Expand Down
5 changes: 5 additions & 0 deletions pkg/lib/v0_2_0/keptn.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,11 @@ func (k *Keptn) createCloudEventWithContextAndPayload(outEventType string, keptn
ce.SetExtension(triggeredIDCEExtension, k.CloudEvent.ID())
ce.SetSource(source)

// if available, add the keptnspecversion extension to the CloudEvent context
if keptnSpecVersion, err := k.CloudEvent.Context.GetExtension(keptnSpecVersionCEExtension); err == nil && keptnSpecVersion != "" {
ce.SetExtension(keptnSpecVersionCEExtension, keptnSpecVersion)
}

var eventData keptn.EventProperties
if data != nil {
eventData = data
Expand Down
41 changes: 25 additions & 16 deletions pkg/lib/v0_2_0/keptn_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
inputEvent := cloudevents.NewEvent()
inputEvent.SetType(GetTriggeredEventType(EvaluationTaskName))
inputEvent.SetExtension(keptnContextCEExtension, "my-context")
inputEvent.SetExtension(keptnSpecVersionCEExtension, "0.2.0")
inputEvent.SetID("my-triggered-id")
inputEvent.SetDataContentType(cloudevents.ApplicationJSON)
inputEvent.SetData(cloudevents.ApplicationJSON, &EventData{
Expand All @@ -136,10 +137,11 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
source string
}
type wantEventProperties struct {
eventType string
keptnContext string
triggeredID string
eventData keptn.EventProperties
eventType string
keptnContext string
triggeredID string
keptnSpecVersion string
eventData keptn.EventProperties
}
tests := []struct {
name string
Expand All @@ -163,9 +165,10 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
wantErr: false,
wantEvents: []wantEventProperties{
{
eventType: GetStartedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
eventType: GetStartedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
keptnSpecVersion: "0.2.0",
eventData: &EventData{
Project: "my-project",
Stage: "my-stage",
Expand All @@ -191,9 +194,10 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
wantErr: false,
wantEvents: []wantEventProperties{
{
eventType: GetStatusChangedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
eventType: GetStatusChangedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
keptnSpecVersion: "0.2.0",
eventData: &EventData{
Project: "my-project",
Stage: "my-stage",
Expand All @@ -219,9 +223,10 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
wantErr: false,
wantEvents: []wantEventProperties{
{
eventType: GetFinishedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
eventType: GetFinishedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
keptnSpecVersion: "0.2.0",
eventData: &EventData{
Project: "my-project",
Stage: "my-stage",
Expand Down Expand Up @@ -250,9 +255,10 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
wantErr: false,
wantEvents: []wantEventProperties{
{
eventType: GetFinishedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
eventType: GetFinishedEventType(EvaluationTaskName),
keptnContext: "my-context",
triggeredID: "my-triggered-id",
keptnSpecVersion: "0.2.0",
eventData: &EventData{
Project: "my-project",
Stage: "my-stage",
Expand Down Expand Up @@ -353,6 +359,9 @@ func TestKeptn_SendEventConvenienceFunctions(t *testing.T) {
keptnContext, err := event.Context.GetExtension(keptnContextCEExtension)
assert.Nil(t, err)
assert.Equal(t, keptnContext.(string), tt.wantEvents[index].keptnContext)
keptnSpecVersion, err := event.Context.GetExtension(keptnSpecVersionCEExtension)
assert.Nil(t, err)
assert.Equal(t, keptnSpecVersion.(string), tt.wantEvents[index].keptnSpecVersion)
data := &EventData{}
err = event.DataAs(data)
assert.Nil(t, err)
Expand Down
2 changes: 2 additions & 0 deletions swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,8 @@ definitions:
properties: # CloudEvents v0.2 properties (https://raw.githubusercontent.com/cloudevents/spec/v0.2/spec.json#/definitions/event)
shkeptncontext:
type: string
shkeptnspecversion:
type: string
triggeredid:
type: string
specversion:
Expand Down

0 comments on commit 1a95286

Please sign in to comment.