mirror of
https://github.com/fleetdm/fleet
synced 2026-05-20 07:29:08 +00:00
<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #37244 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Internal MySQL utility package reorganized and all internal imports updated to the new platform location; no changes to end-user functionality or behavior. * **Documentation** * Added platform package documentation describing infrastructure responsibilities and architectural boundaries to guide maintainers. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package mysql
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBatchProcessSimple(t *testing.T) {
|
|
payloads := []int{1, 2, 3, 4, 5}
|
|
executeBatch := func(payloadsInThisBatch []int) error {
|
|
t.Fatal("executeBatch should not be called")
|
|
return nil
|
|
}
|
|
|
|
// No payloads
|
|
err := BatchProcessSimple(nil, 10, executeBatch)
|
|
assert.NoError(t, err)
|
|
|
|
// No batch size
|
|
err = BatchProcessSimple(payloads, 0, executeBatch)
|
|
assert.NoError(t, err)
|
|
|
|
// No executeBatch
|
|
err = BatchProcessSimple(payloads, 10, nil)
|
|
assert.NoError(t, err)
|
|
|
|
// Large batch size -- all payloads executed in one batch
|
|
executeBatch = func(payloadsInThisBatch []int) error {
|
|
assert.Equal(t, payloads, payloadsInThisBatch)
|
|
return nil
|
|
}
|
|
err = BatchProcessSimple(payloads, 10, executeBatch)
|
|
assert.NoError(t, err)
|
|
|
|
// Small batch size
|
|
numCalls := 0
|
|
executeBatch = func(payloadsInThisBatch []int) error {
|
|
numCalls++
|
|
switch numCalls {
|
|
case 1:
|
|
assert.Equal(t, []int{1, 2, 3}, payloadsInThisBatch)
|
|
case 2:
|
|
assert.Equal(t, []int{4, 5}, payloadsInThisBatch)
|
|
default:
|
|
t.Errorf("Unexpected number of calls to executeBatch: %d", numCalls)
|
|
}
|
|
return nil
|
|
}
|
|
err = BatchProcessSimple(payloads, 3, executeBatch)
|
|
assert.NoError(t, err)
|
|
}
|