package pimport

import (
	"github.com/stretchr/testify/mock"
	"github.com/tidbcloud/pkgv2/secret/encrypt"
)

// MockEncryptor is a mock type for the Encryptor type
type MockEncryptor struct {
	mock.Mock
}

// Encrypt is a mock implementation of the Encryptor interface
func (e *MockEncryptor) Encrypt(secret encrypt.Secret) ([]byte, error) {
	args := e.Called(secret)
	return args.Get(0).([]byte), args.Error(1)
}

// Decrypt is a mock implementation of the Encryptor interface
func (e *MockEncryptor) Decrypt(cyphertext []byte) (encrypt.Secret, error) {
	args := e.Called(cyphertext)
	return args.Get(0).(encrypt.Secret), args.Error(1)
}
