func (p *MockProvider) MediaTypeProfiles() []string {
	return p.mediaTypeProfilesValue
}
MediaTypeProfiles returns the media type profiles.
package protocol
import (
	"github.com/hyperledger/aries-framework-go/pkg/crypto"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/common/service"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/dispatcher"
	"github.com/hyperledger/aries-framework-go/pkg/didcomm/transport"
	didapi "github.com/hyperledger/aries-framework-go/pkg/doc/did"
	vdrapi "github.com/hyperledger/aries-framework-go/pkg/framework/aries/api/vdr"
	"github.com/hyperledger/aries-framework-go/pkg/kms"
	mockcrypto "github.com/hyperledger/aries-framework-go/pkg/mock/crypto"
	mockdispatcher "github.com/hyperledger/aries-framework-go/pkg/mock/didcomm/dispatcher"
	mockservice "github.com/hyperledger/aries-framework-go/pkg/mock/didcomm/service"
	mockkms "github.com/hyperledger/aries-framework-go/pkg/mock/kms"
	mocksecretlock "github.com/hyperledger/aries-framework-go/pkg/mock/secretlock"
	mockstore "github.com/hyperledger/aries-framework-go/pkg/mock/storage"
	mockvdr "github.com/hyperledger/aries-framework-go/pkg/mock/vdr"
	"github.com/hyperledger/aries-framework-go/pkg/secretlock"
	"github.com/hyperledger/aries-framework-go/pkg/store/did"
	"github.com/hyperledger/aries-framework-go/spi/storage"
)
type MockProvider struct {
	StoreProvider                storage.Provider
	ProtocolStateStoreProvider   storage.Provider
	CustomVDR                    vdrapi.Registry
	CustomOutbound               *mockdispatcher.MockOutbound
	CustomMessenger              *mockservice.MockMessenger
	CustomKMS                    kms.KeyManager
	CustomLock                   secretlock.Service
	CustomCrypto                 *mockcrypto.Crypto
	ServiceErr                   error
	ServiceMap                   map[string]interface{}
	InboundMsgHandler            transport.InboundMessageHandler
	InboundDIDCommMsgHandlerFunc func() service.InboundHandler
	KeyTypeValue                 kms.KeyType
	KeyAgreementTypeValue        kms.KeyType
	mediaTypeProfilesValue       []string
}
func (p *MockProvider) OutboundDispatcher() dispatcher.Outbound {
	if p.CustomOutbound != nil {
		return p.CustomOutbound
	}
	return &mockdispatcher.MockOutbound{}
}
func (p *MockProvider) StorageProvider() storage.Provider {
	if p.StoreProvider != nil {
		return p.StoreProvider
	}
	return mockstore.NewMockStoreProvider()
}
func (p *MockProvider) ProtocolStateStorageProvider() storage.Provider {
	if p.ProtocolStateStoreProvider != nil {
		return p.ProtocolStateStoreProvider
	}
	return mockstore.NewMockStoreProvider()
}
func (p *MockProvider) Crypto() crypto.Crypto {
	return &mockcrypto.Crypto{}
}
func (p *MockProvider) VDRegistry() vdrapi.Registry {
	if p.CustomVDR != nil {
		return p.CustomVDR
	}
	return &mockvdr.MockVDRegistry{}
}
func (p *MockProvider) KMS() kms.KeyManager {
	if p.CustomKMS != nil {
		return p.CustomKMS
	}
	return &mockkms.KeyManager{}
}
func (p *MockProvider) SecretLock() secretlock.Service {
	if p.CustomLock != nil {
		return p.CustomLock
	}
	return &mocksecretlock.MockSecretLock{}
}
func (p *MockProvider) Service(id string) (interface{}, error) {
	if p.ServiceErr != nil {
		return nil, p.ServiceErr
	}
	return p.ServiceMap[id], nil
}
func (p *MockProvider) Messenger() service.Messenger {
	if p.CustomMessenger != nil {
		return p.CustomMessenger
	}
	return &mockservice.MockMessenger{}
}
func (p *MockProvider) InboundMessageHandler() transport.InboundMessageHandler {
	return p.InboundMsgHandler
}
func (p *MockProvider) InboundDIDCommMessageHandler() func() service.InboundHandler {
	return p.InboundDIDCommMsgHandlerFunc
}
func (p *MockProvider) DIDConnectionStore() did.ConnectionStore {
	return &mockConnectionStore{}
}
func (p *MockProvider) KeyType() kms.KeyType {
	return p.KeyTypeValue
}
func (p *MockProvider) KeyAgreementType() kms.KeyType {
	return p.KeyAgreementTypeValue
}