amplify-swift/AmplifyPlugins/Predictions/AWSPredictionsPluginTests/Mocks/Service/MockComprehendBehavior.swift

88 lines
3.0 KiB
Swift

//
// Copyright Amazon.com Inc. or its affiliates.
// All Rights Reserved.
//
// SPDX-License-Identifier: Apache-2.0
//
import AWSComprehend
@testable import AWSPredictionsPlugin
class MockComprehendBehavior: AWSComprehendBehavior {
var sentimentResponse: AWSComprehendDetectSentimentResponse?
var entitiesResponse: AWSComprehendDetectEntitiesResponse?
var languageResponse: AWSComprehendDetectDominantLanguageResponse?
var syntaxResponse: AWSComprehendDetectSyntaxResponse?
var keyPhrasesResponse: AWSComprehendDetectKeyPhrasesResponse?
var error: Error?
func detectSentiment(request: AWSComprehendDetectSentimentRequest)
-> AWSTask<AWSComprehendDetectSentimentResponse> {
guard let finalError = error else {
return AWSTask(result: sentimentResponse)
}
return AWSTask(error: finalError)
}
func detectEntities(request: AWSComprehendDetectEntitiesRequest)
-> AWSTask<AWSComprehendDetectEntitiesResponse> {
guard let finalError = error else {
return AWSTask(result: entitiesResponse)
}
return AWSTask(error: finalError)
}
func detectLanguage(request: AWSComprehendDetectDominantLanguageRequest)
-> AWSTask<AWSComprehendDetectDominantLanguageResponse> {
guard let finalError = error else {
return AWSTask(result: languageResponse)
}
return AWSTask(error: finalError)
}
func detectSyntax(request: AWSComprehendDetectSyntaxRequest)
-> AWSTask<AWSComprehendDetectSyntaxResponse> {
guard let finalError = error else {
return AWSTask(result: syntaxResponse)
}
return AWSTask(error: finalError)
}
func detectKeyPhrases(request: AWSComprehendDetectKeyPhrasesRequest)
-> AWSTask<AWSComprehendDetectKeyPhrasesResponse> {
guard let finalError = error else {
return AWSTask(result: keyPhrasesResponse)
}
return AWSTask(error: finalError)
}
func getComprehend() -> AWSComprehend {
return AWSComprehend()
}
public func setResult(sentimentResponse: AWSComprehendDetectSentimentResponse? = nil,
entitiesResponse: AWSComprehendDetectEntitiesResponse? = nil,
languageResponse: AWSComprehendDetectDominantLanguageResponse? = nil,
syntaxResponse: AWSComprehendDetectSyntaxResponse? = nil,
keyPhrasesResponse: AWSComprehendDetectKeyPhrasesResponse? = nil) {
self.sentimentResponse = sentimentResponse
self.entitiesResponse = entitiesResponse
self.languageResponse = languageResponse
self.syntaxResponse = syntaxResponse
self.keyPhrasesResponse = keyPhrasesResponse
error = nil
}
public func setError(error: Error) {
sentimentResponse = nil
entitiesResponse = nil
languageResponse = nil
syntaxResponse = nil
keyPhrasesResponse = nil
self.error = error
}
}