Skip to content

Commit af84ad0

Browse files
committed
Update the SDK to v0.3.0
- Structured properties are now included as pointers. This is required so that the "omitempty" flags does not include them, when empty, in the rendered JSON. - New test events - New artifact signed event Update the generator tool to support pointer objects. The full type is now defined in the generator tool and templates are simplified accordingly. Signed-off-by: Andrea Frittoli <[email protected]>
1 parent e21233f commit af84ad0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+2033
-1078
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# IDEs
22
.vscode
33

4+
# build
45
dist/
56
build/
7+
8+
# coverage
69
**/cover.out

pkg/api/bindings_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,28 +64,28 @@ func setContext(event CDEventWriter, subjectId string) {
6464
func init() {
6565
eventJsonCustomData, _ = NewFooSubjectBarPredicateEvent()
6666
setContext(eventJsonCustomData, testSubjectId)
67-
eventJsonCustomData.SetSubjectReferenceField(Reference{Id: testChangeId})
67+
eventJsonCustomData.SetSubjectReferenceField(&Reference{Id: testChangeId})
6868
eventJsonCustomData.SetSubjectPlainField(testValue)
6969
eventJsonCustomData.SetSubjectArtifactId(testArtifactId)
70-
eventJsonCustomData.SetSubjectObjectField(FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
70+
eventJsonCustomData.SetSubjectObjectField(&FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
7171
err := eventJsonCustomData.SetCustomData("application/json", testDataJson)
7272
panicOnError(err)
7373

7474
eventJsonCustomDataUnmarshalled, _ = NewFooSubjectBarPredicateEvent()
7575
setContext(eventJsonCustomDataUnmarshalled, testSubjectId)
76-
eventJsonCustomDataUnmarshalled.SetSubjectReferenceField(Reference{Id: testChangeId})
76+
eventJsonCustomDataUnmarshalled.SetSubjectReferenceField(&Reference{Id: testChangeId})
7777
eventJsonCustomDataUnmarshalled.SetSubjectPlainField(testValue)
7878
eventJsonCustomDataUnmarshalled.SetSubjectArtifactId(testArtifactId)
79-
eventJsonCustomDataUnmarshalled.SetSubjectObjectField(FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
79+
eventJsonCustomDataUnmarshalled.SetSubjectObjectField(&FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
8080
err = eventJsonCustomDataUnmarshalled.SetCustomData("application/json", testDataJsonUnmarshalled)
8181
panicOnError(err)
8282

8383
eventNonJsonCustomData, _ = NewFooSubjectBarPredicateEvent()
8484
setContext(eventNonJsonCustomData, testSubjectId)
85-
eventNonJsonCustomData.SetSubjectReferenceField(Reference{Id: testChangeId})
85+
eventNonJsonCustomData.SetSubjectReferenceField(&Reference{Id: testChangeId})
8686
eventNonJsonCustomData.SetSubjectPlainField(testValue)
8787
eventNonJsonCustomData.SetSubjectArtifactId(testArtifactId)
88-
eventNonJsonCustomData.SetSubjectObjectField(FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
88+
eventNonJsonCustomData.SetSubjectObjectField(&FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
8989
err = eventNonJsonCustomData.SetCustomData("application/xml", testDataXml)
9090
panicOnError(err)
9191

@@ -258,7 +258,7 @@ func TestInvalidEvent(t *testing.T) {
258258
// invalid source format in reference
259259
eventInvalidSourceReference, _ := NewFooSubjectBarPredicateEvent()
260260
eventInvalidSourceReference.SetSubjectReferenceField(
261-
Reference{Id: "1234", Source: "\\--##@@"})
261+
&Reference{Id: "1234", Source: "\\--##@@"})
262262

263263
// invalid format of purl
264264
eventInvalidPurl, _ := NewFooSubjectBarPredicateEvent()
@@ -459,10 +459,10 @@ func TestParseType(t *testing.T) {
459459
func testEventWithVersion(eventVersion string, specVersion string) *FooSubjectBarPredicateEvent {
460460
event, _ := NewFooSubjectBarPredicateEvent()
461461
setContext(event, testSubjectId)
462-
event.SetSubjectReferenceField(Reference{Id: testChangeId})
462+
event.SetSubjectReferenceField(&Reference{Id: testChangeId})
463463
event.SetSubjectPlainField(testValue)
464464
event.SetSubjectArtifactId(testArtifactId)
465-
event.SetSubjectObjectField(FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
465+
event.SetSubjectObjectField(&FooSubjectBarPredicateSubjectContentObjectField{Required: testChangeId, Optional: testSource})
466466
err := event.SetCustomData("application/json", testDataJsonUnmarshalled)
467467
panicOnError(err)
468468
etype, err := ParseType(event.Context.Type)

pkg/api/examples_test.go

Lines changed: 98 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,46 @@ var (
4747
testEnvironmentId = "test123"
4848
testEnvironmentName = "testEnv"
4949
testEnvironmentUrl = "https://example.org/testEnv"
50-
testRepoReference = Reference{
51-
Id: "TestRepo/TestOrg",
52-
Source: "https://example.org",
53-
}
50+
testRepoReference = &Reference{
51+
Id: "TestRepo/TestOrg", Source: "https://example.org"}
5452
testIncidentSubjectId = "incident-123"
5553
testIncidentSource = "/monitoring/prod1"
56-
testEnvironmentReference = Reference{
57-
Id: "prod1",
58-
Source: "/iaas/geo1",
59-
}
60-
testServiceReference = Reference{
61-
Id: "myApp",
62-
Source: "/clusterA/namespaceB",
63-
}
54+
testEnvironmentReference = &Reference{
55+
Id: "prod1", Source: "/iaas/geo1"}
56+
testServiceReference = &Reference{
57+
Id: "myApp", Source: "/clusterA/namespaceB"}
58+
testTestRunId = "myTestCaseRun123"
59+
testSignature = "MEYCIQCBT8U5ypDXWCjlNKfzTV4KH516/SK13NZSh8znnSMNkQIhAJ3XiQlc9PM1KyjITcZXHotdMB+J3NGua5T/yshmiPmp"
60+
testTestEnvironment = &Reference{
61+
Id: "dev", Source: "testkube-dev-123"}
62+
testTestCaseStarted = &TestCaseRunStartedSubjectContentTestCase{
63+
Id: "92834723894", Name: "Login Test", Type: "integration", Version: "1.0"}
64+
testTestCaseFinished = &TestCaseRunFinishedSubjectContentTestCase{
65+
Id: "92834723894", Name: "Login Test", Type: "integration", Version: "1.0"}
66+
testTestCaseQueued = &TestCaseRunQueuedSubjectContentTestCase{
67+
Id: "92834723894", Name: "Login Test", Type: "integration", Version: "1.0"}
68+
testTestTriggerQueued = &TestCaseRunQueuedSubjectContentTrigger{
69+
Type: "schedule"}
70+
testTestTriggerStarted = &TestCaseRunStartedSubjectContentTrigger{
71+
Type: "schedule"}
72+
testTestOutcome = "pass"
73+
testTestOutputSubjectId = "testrunreport-12123"
74+
testTestOutputSubjectSource = "/event/source/testrunreport-12123"
75+
testTestOutputFormat = "video/quicktime"
76+
testTestOutputOutputType = "video"
77+
testTestCaseRun = &Reference{Id: testTestRunId, Source: "testkube-dev-123"}
78+
testTestSuiteRunId = "myTestSuiteRun123"
79+
testTestSuiteStarted = &TestSuiteRunStartedSubjectContentTestSuite{
80+
Id: "92834723894", Name: "Auth TestSuite", Version: "1.0"}
81+
testTestSuiteQueued = &TestSuiteRunQueuedSubjectContentTestSuite{
82+
Id: "92834723894", Name: "Auth TestSuite", Version: "1.0"}
83+
testTestSuiteFinished = &TestSuiteRunFinishedSubjectContentTestSuite{
84+
Id: "92834723894", Name: "Auth TestSuite", Version: "1.0"}
85+
testTestSuiteOutcome = "fail"
86+
testTestSuiteReason = "Host 123.34.23.32 not found"
87+
testTestSuiteSeverity = "critical"
88+
testTestSuiteTriggerQueued = &TestSuiteRunQueuedSubjectContentTrigger{Type: "pipeline"}
89+
testTestSuiteTriggerStarted = &TestSuiteRunStartedSubjectContentTrigger{Type: "pipeline"}
6490

6591
examplesConsumed map[string][]byte
6692
examplesProduced map[string]CDEvent
@@ -84,14 +110,20 @@ func init() {
84110
func exampleArtifactPackagedEvent(e *ArtifactPackagedEvent) {
85111
// Set example specific fields
86112
setContext(e, testArtifactSubjectId)
87-
e.SetSubjectChange(Reference{Id: testChangeId, Source: testChangeSource})
113+
e.SetSubjectChange(&Reference{Id: testChangeId, Source: testChangeSource})
88114
}
89115

90116
func exampleArtifactPublishedEvent(e *ArtifactPublishedEvent) {
91117
// Set example specific fields
92118
setContext(e, testArtifactSubjectId)
93119
}
94120

121+
func exampleArtifactSignedEvent(e *ArtifactSignedEvent) {
122+
// Set example specific fields
123+
setContext(e, testArtifactSubjectId)
124+
e.SetSubjectSignature(testSignature)
125+
}
126+
95127
func exampleBranchCreatedEvent(e *BranchCreatedEvent) {
96128
// Set example specific fields
97129
e.SetSubjectRepository(testRepoReference)
@@ -237,37 +269,37 @@ func exampleRepositoryModifiedEvent(e *RepositoryModifiedEvent) {
237269

238270
func exampleServiceDeployedEvent(e *ServiceDeployedEvent) {
239271
// Set example specific fields
240-
e.SetSubjectEnvironment(Reference{Id: testEnvironmentId})
272+
e.SetSubjectEnvironment(&Reference{Id: testEnvironmentId})
241273
e.SetSubjectArtifactId(testArtifactId)
242274
}
243275

244276
func exampleServicePublishedEvent(e *ServicePublishedEvent) {
245277
// Set example specific fields
246-
e.SetSubjectEnvironment(Reference{Id: testEnvironmentId})
278+
e.SetSubjectEnvironment(&Reference{Id: testEnvironmentId})
247279
}
248280

249281
func exampleServiceRemovedEvent(e *ServiceRemovedEvent) {
250282
// Set example specific fields
251-
e.SetSubjectEnvironment(Reference{Id: testEnvironmentId})
283+
e.SetSubjectEnvironment(&Reference{Id: testEnvironmentId})
252284
}
253285

254286
func exampleServiceRolledbackEvent(e *ServiceRolledbackEvent) {
255287
// Set example specific fields
256-
e.SetSubjectEnvironment(Reference{Id: testEnvironmentId})
288+
e.SetSubjectEnvironment(&Reference{Id: testEnvironmentId})
257289
e.SetSubjectArtifactId(testArtifactId)
258290
}
259291

260292
func exampleServiceUpgradedEvent(e *ServiceUpgradedEvent) {
261293
// Set example specific fields
262-
e.SetSubjectEnvironment(Reference{Id: testEnvironmentId})
294+
e.SetSubjectEnvironment(&Reference{Id: testEnvironmentId})
263295
e.SetSubjectArtifactId(testArtifactId)
264296
}
265297

266298
func exampleTaskRunFinishedEvent(e *TaskRunFinishedEvent) {
267299
// Set example specific fields
268300
e.SetSubjectTaskName(testTaskName)
269301
e.SetSubjectUrl(testSubjecturl)
270-
e.SetSubjectPipelineRun(Reference{Id: testSubjectId})
302+
e.SetSubjectPipelineRun(&Reference{Id: testSubjectId})
271303
e.SetSubjectOutcome(testTaskOutcome)
272304
e.SetSubjectErrors(testTaskRunErrors)
273305
}
@@ -276,27 +308,68 @@ func exampleTaskRunStartedEvent(e *TaskRunStartedEvent) {
276308
// Set example specific fields
277309
e.SetSubjectTaskName(testTaskName)
278310
e.SetSubjectUrl(testSubjecturl)
279-
e.SetSubjectPipelineRun(Reference{Id: testSubjectId})
311+
e.SetSubjectPipelineRun(&Reference{Id: testSubjectId})
312+
}
313+
314+
func exampleTestCaseRunFinishedEvent(e *TestCaseRunFinishedEvent) {
315+
// Set example specific fields
316+
e.SetSubjectId(testTestRunId)
317+
e.SetSubjectId(testTestRunId)
318+
e.SetSubjectEnvironment(testTestEnvironment)
319+
e.SetSubjectTestCase(testTestCaseFinished)
320+
e.SetSubjectOutcome(testTestOutcome)
321+
}
322+
323+
func exampleTestCaseRunQueuedEvent(e *TestCaseRunQueuedEvent) {
324+
// Set example specific fields
325+
e.SetSubjectId(testTestRunId)
326+
e.SetSubjectId(testTestRunId)
327+
e.SetSubjectEnvironment(testTestEnvironment)
328+
e.SetSubjectTestCase(testTestCaseQueued)
329+
e.SetSubjectTrigger(testTestTriggerQueued)
280330
}
281331

282-
func exampleTestCaseFinishedEvent(e *TestCaseFinishedEvent) {
332+
func exampleTestCaseRunStartedEvent(e *TestCaseRunStartedEvent) {
283333
// Set example specific fields
334+
e.SetSubjectId(testTestRunId)
335+
e.SetSubjectEnvironment(testTestEnvironment)
336+
e.SetSubjectTestCase(testTestCaseStarted)
337+
e.SetSubjectTrigger(testTestTriggerStarted)
284338
}
285339

286-
func exampleTestCaseQueuedEvent(e *TestCaseQueuedEvent) {
340+
func exampleTestSuiteRunFinishedEvent(e *TestSuiteRunFinishedEvent) {
287341
// Set example specific fields
342+
e.SetSubjectId(testTestSuiteRunId)
343+
e.SetSubjectEnvironment(testTestEnvironment)
344+
e.SetSubjectTestSuite(testTestSuiteFinished)
345+
e.SetSubjectOutcome(testTestSuiteOutcome)
346+
e.SetSubjectSeverity(testTestSuiteSeverity)
347+
e.SetSubjectReason(testTestSuiteReason)
288348
}
289349

290-
func exampleTestCaseStartedEvent(e *TestCaseStartedEvent) {
350+
func exampleTestSuiteRunStartedEvent(e *TestSuiteRunStartedEvent) {
291351
// Set example specific fields
352+
e.SetSubjectId(testTestSuiteRunId)
353+
e.SetSubjectEnvironment(testTestEnvironment)
354+
e.SetSubjectTestSuite(testTestSuiteStarted)
355+
e.SetSubjectTrigger(testTestSuiteTriggerStarted)
292356
}
293357

294-
func exampleTestSuiteFinishedEvent(e *TestSuiteFinishedEvent) {
358+
func exampleTestSuiteRunQueuedEvent(e *TestSuiteRunQueuedEvent) {
295359
// Set example specific fields
360+
e.SetSubjectId(testTestSuiteRunId)
361+
e.SetSubjectEnvironment(testTestEnvironment)
362+
e.SetSubjectTestSuite(testTestSuiteQueued)
363+
e.SetSubjectTrigger(testTestSuiteTriggerQueued)
296364
}
297365

298-
func exampleTestSuiteStartedEvent(e *TestSuiteStartedEvent) {
366+
func exampleTestOutputPublishedEvent(e *TestOutputPublishedEvent) {
299367
// Set example specific fields
368+
e.SetSubjectId(testTestOutputSubjectId)
369+
e.SetSubjectSource(testTestOutputSubjectSource)
370+
e.SetSubjectOutputType(testTestOutputOutputType)
371+
e.SetSubjectFormat(testTestOutputFormat)
372+
e.SetSubjectTestCaseRun(testTestCaseRun)
300373
}
301374

302375
func init() {

pkg/api/spec

Submodule spec updated 94 files

pkg/api/zz_artifactpackaged.go

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/api/zz_artifactpublished.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)