github.com/Foodji/aws-lambda-go@v1.20.2/events/code_commit_test.go (about) 1 package events 2 3 import ( 4 "testing" 5 6 "github.com/aws/aws-lambda-go/events/test" 7 ) 8 9 func TestCodeCommitReference(t *testing.T) { 10 cases := []struct { 11 Name string 12 Input []byte 13 }{ 14 { 15 Name: "CodeCommitReference", 16 Input: []byte(` 17 { 18 "commit": "5c4ef1049f1d27deadbeeff313e0730018be182b", 19 "ref": "refs/heads/master" 20 } 21 `), 22 }, 23 { 24 Name: "Created CodeCommitReference", 25 Input: []byte(` 26 { 27 "commit": "5c4ef1049f1d27deadbeeff313e0730018be182b", 28 "ref": "refs/heads/master", 29 "created": true 30 } 31 `), 32 }, 33 } 34 35 for _, c := range cases { 36 c := c 37 t.Run(c.Name, func(t *testing.T) { 38 test.AssertJsonBytes(t, c.Input, &CodeCommitReference{}) 39 }) 40 } 41 } 42 43 func TestCodeCommitCodeCommit(t *testing.T) { 44 cases := []struct { 45 Name string 46 Input []byte 47 }{ 48 { 49 Name: "Empty CodeCommitReferences", 50 Input: []byte(`{"references": []}`), 51 }, 52 { 53 Name: "CodeCommitCodeCommit", 54 Input: []byte(` 55 { 56 "references": [ 57 { 58 "commit": "5c4ef1049f1d27deadbeeff313e0730018be182b", 59 "ref": "refs/heads/master" 60 }, 61 { 62 "commit": "5c4ef1049f1d27deadbeeff313e0730018be182b", 63 "ref": "refs/heads/master", 64 "created": true 65 } 66 ] 67 } 68 `), 69 }, 70 } 71 72 for _, c := range cases { 73 c := c 74 t.Run(c.Name, func(t *testing.T) { 75 test.AssertJsonBytes(t, c.Input, &CodeCommitCodeCommit{}) 76 }) 77 } 78 } 79 80 func TestCodeCommitRecord(t *testing.T) { 81 cases := []struct { 82 Name string 83 Input []byte 84 }{ 85 { 86 Name: "CodeCommitRecord", 87 Input: []byte(` 88 { 89 "eventId": "5a824061-17ca-46a9-bbf9-114edeadbeef", 90 "eventVersion": "1.0", 91 "eventTime": "2018-01-22T15:58:33.475+0000", 92 "eventTriggerName": "my-trigger", 93 "eventPartNumber": 1, 94 "codecommit": { 95 "references": [] 96 }, 97 "eventName": "TriggerEventTest", 98 "eventTriggerConfigId": "5a824061-17ca-46a9-bbf9-114edeadbeef", 99 "eventSourceARN": "arn:aws:codecommit:us-east-1:123456789012:my-repo", 100 "userIdentityARN": "arn:aws:iam::123456789012:root", 101 "eventSource": "aws:codecommit", 102 "awsRegion": "us-east-1", 103 "eventTotalParts": 1 104 } 105 `), 106 }, 107 { 108 Name: "CodeCommitRecord", 109 Input: []byte(` 110 { 111 "eventId": "5a824061-17ca-46a9-bbf9-114edeadbeee", 112 "eventVersion": "1.0", 113 "eventTime": "2018-01-22T15:58:33.475+0000", 114 "eventTriggerName": "my-trigger", 115 "eventPartNumber": 1, 116 "codecommit": { 117 "references": [] 118 }, 119 "eventName": "TriggerEventTest", 120 "eventTriggerConfigId": "5a824061-17ca-46a9-bbf9-114edeadbeef", 121 "eventSourceARN": "arn:aws:codecommit:us-east-1:123456789012:my-repo", 122 "userIdentityARN": "arn:aws:iam::123456789012:root", 123 "eventSource": "aws:codecommit", 124 "awsRegion": "us-east-1", 125 "eventTotalParts": 1, 126 "customData": "custom data" 127 } 128 `), 129 }, 130 } 131 132 for _, c := range cases { 133 c := c 134 t.Run(c.Name, func(t *testing.T) { 135 test.AssertJsonBytes(t, c.Input, &CodeCommitRecord{}) 136 }) 137 } 138 } 139 140 func TestCodeCommitEventFile(t *testing.T) { 141 test.AssertJsonFile(t, "./testdata/code-commit-event.json", &CodeCommitEvent{}) 142 } 143 144 func TestCodeCommitEvent(t *testing.T) { 145 cases := []struct { 146 Name string 147 Input []byte 148 }{ 149 { 150 Name: "Empty CodeCommitRecord", 151 Input: []byte(`{"Records": []}`), 152 }, 153 } 154 155 for _, c := range cases { 156 c := c 157 t.Run(c.Name, func(t *testing.T) { 158 test.AssertJsonBytes(t, c.Input, &CodeCommitEvent{}) 159 }) 160 } 161 }