package persistence

import (
	"database/sql"
	"testing"

	"github.com/pingcap-inc/nexuscrm-contract/pkg/runtime/permissionstatev1"
)

var permissionStateRestoredLineage = []byte{16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
var permissionStateNextRestoredLineage = []byte{2, 4, 6, 8, 10, 12, 14, 16, 1, 3, 5, 7, 9, 11, 13, 15}

func newPermissionStateRestoreFinalizerForTest(t *testing.T, db *sql.DB) *PermissionStateRestoreFinalizer {
	t.Helper()
	finalizer, err := NewPermissionStateRestoreFinalizer(db)
	if err != nil {
		t.Fatal(err)
	}
	return finalizer
}

func permissionStateLineageFromBytes(t *testing.T, value []byte) permissionstatev1.Lineage {
	t.Helper()
	lineage, err := permissionstatev1.LineageFromBytes(value)
	if err != nil {
		t.Fatal(err)
	}
	return lineage
}
