mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-31 11:01:53 -07:00
## What changed?
<!-- Describe what has changed in this PR -->
Remove license header from every file. Because it is really hard to
follow in this PR here is the summary:
1. License header is removed from all `.go` and `.proto` files
:fireworks::fireworks:🎆.
2. `LICENSE` file in the root directory has only Temporal and Uber
copyrights.
3. 5 other `LICENSE` files added to the packages which have copyrights
different from Temporal and Uber: Datadog, Xargin, "Mat Ryer, Tyler
Bunnell and contributors".
4. `license_file` flag is removed from all code generation tools.
5. `copyright_file` flag is removed from `go:generate mockgen`
directive.
6. All copyright related targets are removed from `Makefile`.
7. Updated Temporal copyright year to 2025 everywhere.
## Why?
<!-- Tell your future self why have you made these changes -->
I double checked with legal department that it is not needed to have
license header in every file. One file per repo is enough. I put all
copyrights to the root `LICENSE` file and removed header from all other
files. Also updated tools and `Makefile`.
116 lines
2.4 KiB
Go
116 lines
2.4 KiB
Go
package persistence
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestGetDeleteRange(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
request DeleteRequest
|
|
expected DeleteRange
|
|
shouldUpdate bool
|
|
}{
|
|
{
|
|
name: "Delete within range",
|
|
request: DeleteRequest{
|
|
LastIDToDeleteInclusive: 3,
|
|
ExistingMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 5,
|
|
},
|
|
},
|
|
expected: DeleteRange{
|
|
InclusiveMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 3,
|
|
},
|
|
NewMinMessageID: 4,
|
|
MessagesToDelete: 3,
|
|
},
|
|
shouldUpdate: true,
|
|
},
|
|
{
|
|
name: "LastID below range",
|
|
request: DeleteRequest{
|
|
LastIDToDeleteInclusive: 0,
|
|
ExistingMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 5,
|
|
},
|
|
},
|
|
expected: DeleteRange{},
|
|
shouldUpdate: false,
|
|
},
|
|
{
|
|
name: "LastID exceeds range",
|
|
request: DeleteRequest{
|
|
LastIDToDeleteInclusive: 6,
|
|
ExistingMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 5,
|
|
},
|
|
},
|
|
expected: DeleteRange{
|
|
InclusiveMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 4,
|
|
},
|
|
NewMinMessageID: 6,
|
|
MessagesToDelete: 5,
|
|
},
|
|
shouldUpdate: true,
|
|
},
|
|
{
|
|
name: "Delete the last but one message",
|
|
request: DeleteRequest{
|
|
LastIDToDeleteInclusive: 4,
|
|
ExistingMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 5,
|
|
},
|
|
},
|
|
expected: DeleteRange{
|
|
InclusiveMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 4,
|
|
},
|
|
NewMinMessageID: 5,
|
|
MessagesToDelete: 4,
|
|
},
|
|
shouldUpdate: true,
|
|
},
|
|
{
|
|
name: "Single message in range",
|
|
request: DeleteRequest{
|
|
LastIDToDeleteInclusive: 1,
|
|
ExistingMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 1,
|
|
},
|
|
},
|
|
expected: DeleteRange{
|
|
InclusiveMessageRange: InclusiveMessageRange{
|
|
MinMessageID: 1,
|
|
MaxMessageID: 0,
|
|
},
|
|
NewMinMessageID: 2,
|
|
MessagesToDelete: 1,
|
|
},
|
|
shouldUpdate: true,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
result, shouldDelete := GetDeleteRange(tt.request)
|
|
if shouldDelete != tt.shouldUpdate {
|
|
t.Errorf("expected %+v for shouldUpdate but got %+v", tt.shouldUpdate, shouldDelete)
|
|
}
|
|
if result != tt.expected {
|
|
t.Errorf("expected %+v but got %+v", tt.expected, result)
|
|
}
|
|
})
|
|
}
|
|
}
|