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  }