1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_sdk_manager.h"
#include "chrome/browser/enterprise/connectors/test/fake_content_analysis_sdk_client.h"
#include <cstddef>
namespace enterprise_connectors {
FakeContentAnalysisSdkManager::FakeContentAnalysisSdkManager() {
ContentAnalysisSdkManager::SetManagerForTesting(this);
}
FakeContentAnalysisSdkManager::~FakeContentAnalysisSdkManager() {
ContentAnalysisSdkManager::SetManagerForTesting(nullptr);
}
void FakeContentAnalysisSdkManager::SetClientSendStatus(int status) {
send_status_ = status;
}
void FakeContentAnalysisSdkManager::SetClientSendResponse(
const content_analysis::sdk::ContentAnalysisResponse& response) {
response_ = response;
}
void FakeContentAnalysisSdkManager::SetClientAckStatus(int status) {
ack_status_ = status;
}
void FakeContentAnalysisSdkManager::SetClientCancelStatus(int status) {
cancel_status_ = status;
}
std::unique_ptr<content_analysis::sdk::Client>
FakeContentAnalysisSdkManager::CreateClient(
const content_analysis::sdk::Client::Config& config) {
if (!can_create_client_) {
return nullptr;
}
auto client = std::make_unique<FakeContentAnalysisSdkClient>(config);
client->SetSendStatus(send_status_);
client->SetSendResponse(response_);
client->SetAckStatus(ack_status_);
client->SetCancelStatus(cancel_status_);
fake_clients_.insert(std::make_pair(std::move(config), client.get()));
return client;
}
void FakeContentAnalysisSdkManager::ResetClient(
const content_analysis::sdk::Client::Config& config) {
ContentAnalysisSdkManager::ResetClient(config);
fake_clients_.erase(config);
}
void FakeContentAnalysisSdkManager::ResetAllClients() {
ContentAnalysisSdkManager::ResetAllClients();
fake_clients_.clear();
}
void FakeContentAnalysisSdkManager::SetCreateClientAbility(
bool can_create_client) {
can_create_client_ = can_create_client;
}
bool FakeContentAnalysisSdkManager::NoConnectionEstablished() {
return fake_clients_.empty();
}
FakeContentAnalysisSdkClient* FakeContentAnalysisSdkManager::GetFakeClient(
const content_analysis::sdk::Client::Config& config) {
auto it = fake_clients_.find(config);
if (it != fake_clients_.end())
return it->second;
return nullptr;
}
} // namespace enterprise_connectors
|