github.com/mweagle/Sparta@v1.15.0/aws/cloudwatch/logs/cloudwatchlogs_test.go (about)

     1  package cloudwatchlogs
     2  
     3  import (
     4  	"encoding/json"
     5  	"testing"
     6  
     7  	awsLambdaEvents "github.com/aws/aws-lambda-go/events"
     8  )
     9  
    10  const logMessageTestData = `
    11  {
    12    "awslogs":
    13    {
    14    "data": "H4sIAAAAAAAAAK2TW2/TQBCF/8rK4jFOZu+7fnOVUHFJQbEBiTqq1va6smTHwXbShqr/nUlTBEiAWoH27ZzR2W+OvXdB64fBXfv0sPVBFMzjNL5aLpIkPl8Ek6C72fgeZWCaSitAGi5Qbrrr877bbdGZuZth1rg2L91s7/uh7jbDaSIZe+9aHGFA1QzYjMHs8sXbOF0k6Vr6KldVwU3FqKiMNUwzarjSnrKc6xwjhl0+FH29HTHyZd2MGB5El0Gydf3o4u22qQt39K6Wh5NdUCcKK50Q0ueVBOFYSZ21FZNeVRUvhbTe2SpYP/At9n4zHiPvgrpETM6EMhIscKMRWRoQRnIhNafKgBaaa6zBMqMQVwvFKSipABB1rLHF0bVYCBVSWm6YtVyqyfd2MT5J41VKVv7LDkdflRGxqrLGKR6W2kBIqZehy7UJlcXLfc7Kwufk46nSiDwWl22C+8lvgI0GBcwIyrFsCVwLBBCCYq9CKS6stFRYAGWE/TOw/Rn4+NlCYCGDFHhETUTtlEvzORufQp6NF13pXydkP93DlMKUqwmJPyUkmb9BjeHh7N+3kX+p/5dtFhfz55b/H+joE+lWi/fvnv93ZON81z+8gYjAVDLSDtl4VjeNL8kPhwKgQbJx6duuP5Ck/upRZYYsz1B0t+TR+DB4vJjyB/24/Pr+G81LpuMfBAAA"
    15    }
    16  }
    17  `
    18  
    19  func TestUnmarshal(t *testing.T) {
    20  	var event awsLambdaEvents.CloudwatchLogsEvent
    21  	err := json.Unmarshal([]byte(logMessageTestData), &event)
    22  	if nil != err {
    23  		t.Errorf("Failed to unmarshal log event message")
    24  	}
    25  	data, err := event.AWSLogs.Parse()
    26  	if nil != err {
    27  		t.Error("Failed to decode event data: " + err.Error())
    28  	}
    29  	if len(data.LogEvents) != 4 {
    30  		t.Error("Failed to unmarshal 4 LogEvent entries")
    31  	}
    32  }