| 70 | } |
| 71 | |
| 72 | func TestQDevTaskData_AllFields(t *testing.T) { |
| 73 | month := 3 |
| 74 | options := &QDevOptions{ |
| 75 | ConnectionId: 123, |
| 76 | S3Prefix: "data/q-dev/", |
| 77 | AccountId: "034362076319", |
| 78 | BasePath: "user-report", |
| 79 | Year: 2026, |
| 80 | Month: &month, |
| 81 | } |
| 82 | |
| 83 | s3Client := &QDevS3Client{ |
| 84 | S3: &s3.S3{}, |
| 85 | Bucket: "my-data-bucket", |
| 86 | } |
| 87 | |
| 88 | identityClient := &QDevIdentityClient{ |
| 89 | StoreId: "d-9876543210", |
| 90 | Region: "eu-west-1", |
| 91 | } |
| 92 | |
| 93 | taskData := &QDevTaskData{ |
| 94 | Options: options, |
| 95 | S3Client: s3Client, |
| 96 | IdentityClient: identityClient, |
| 97 | S3Prefixes: []string{ |
| 98 | "user-report/AWSLogs/034362076319/KiroLogs/by_user_analytic/us-east-1/2026/03", |
| 99 | "user-report/AWSLogs/034362076319/KiroLogs/user_report/us-east-1/2026/03", |
| 100 | }, |
| 101 | } |
| 102 | |
| 103 | // Verify all fields are properly set |
| 104 | assert.Equal(t, options, taskData.Options) |
| 105 | assert.Equal(t, s3Client, taskData.S3Client) |
| 106 | assert.Equal(t, identityClient, taskData.IdentityClient) |
| 107 | |
| 108 | // Verify nested field access |
| 109 | assert.Equal(t, uint64(123), taskData.Options.ConnectionId) |
| 110 | assert.Equal(t, "data/q-dev/", taskData.Options.S3Prefix) |
| 111 | assert.Equal(t, "034362076319", taskData.Options.AccountId) |
| 112 | assert.Equal(t, "user-report", taskData.Options.BasePath) |
| 113 | assert.Equal(t, 2026, taskData.Options.Year) |
| 114 | assert.Equal(t, &month, taskData.Options.Month) |
| 115 | assert.Equal(t, "my-data-bucket", taskData.S3Client.Bucket) |
| 116 | assert.Equal(t, "d-9876543210", taskData.IdentityClient.StoreId) |
| 117 | assert.Equal(t, "eu-west-1", taskData.IdentityClient.Region) |
| 118 | assert.Len(t, taskData.S3Prefixes, 2) |
| 119 | } |
| 120 | |
| 121 | func TestQDevTaskData_EmptyStruct(t *testing.T) { |
| 122 | taskData := &QDevTaskData{} |