mirror of
https://github.com/Buriburizaem0n/nezha_domains.git
synced 2026-09-21 10:40:13 +00:00
test(agentcompat): add integration scenarios
Co-authored-by: naiba/CloudCode <hi+cloudcode@nai.ba>
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
//go:build linux
|
||||
|
||||
package scenario
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/nezhahq/nezha/integration/agentcompat/internal/contract"
|
||||
)
|
||||
|
||||
func TestHeldSessionSetCanonicalPlanHasExactlyFourOfEachKind(t *testing.T) {
|
||||
// Given
|
||||
profile, err := contract.ProfileByName(string(contract.ProfilePRFull))
|
||||
require.NoError(t, err)
|
||||
plan, err := GenerateStressPlan(profile, contract.DefaultSeed)
|
||||
require.NoError(t, err)
|
||||
|
||||
// When
|
||||
validated, err := validateHeldSessionSetPlans(plan)
|
||||
|
||||
// Then
|
||||
require.NoError(t, err)
|
||||
require.Len(t, validated, 12)
|
||||
require.Equal(t, 4, countHeldSessionKind(validated, StressSessionTerminal))
|
||||
require.Equal(t, 4, countHeldSessionKind(validated, StressSessionNAT))
|
||||
require.Equal(t, 4, countHeldSessionKind(validated, StressSessionFM))
|
||||
}
|
||||
|
||||
func TestHeldSessionSetRejectsInvalidTopologyBeforeConstruction(t *testing.T) {
|
||||
// Given
|
||||
profile, err := contract.ProfileByName(string(contract.ProfilePRFull))
|
||||
require.NoError(t, err)
|
||||
plan, err := GenerateStressPlan(profile, contract.DefaultSeed)
|
||||
require.NoError(t, err)
|
||||
|
||||
// When
|
||||
_, err = NewHeldSessionSet(context.Background(), HeldSessionSetInput{Plan: plan})
|
||||
|
||||
// Then
|
||||
require.Error(t, err)
|
||||
require.ErrorIs(t, err, ErrInvalidHeldSessionSetTopology)
|
||||
}
|
||||
Reference in New Issue
Block a user