| // Copyright 2017 The Fuchsia Authors |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| #include "analyzer/report_master/report_master_service_abstract_test.h" |
| #include "analyzer/store/memory_store_test_helper.h" |
| #include "third_party/googletest/googletest/include/gtest/gtest.h" |
| |
| namespace cobalt { |
| namespace analyzer { |
| |
| // Instantiate ReportMasterServiceAbstractTest using the MemoryStore as the |
| // underlying DataStore. |
| INSTANTIATE_TYPED_TEST_CASE_P(ReportMasterServiceTest, |
| ReportMasterServiceAbstractTest, |
| store::MemoryStoreFactory); |
| |
| // Checks that permissions are checked on all methods of ReportMasterService. |
| TEST(ReportMasterServiceFriendTest, AuthEnforcerTest) { |
| std::shared_ptr<store::ObservationStore> observation_store; |
| std::shared_ptr<store::ReportStore> report_store; |
| std::shared_ptr<config::AnalyzerConfigManager> analyzer_config_manager; |
| std::shared_ptr<grpc::ServerCredentials> server_credentials; |
| std::shared_ptr<AuthEnforcer> auth_enforcer(new NegativeEnforcer()); |
| |
| ReportMasterService service(0, observation_store, report_store, |
| analyzer_config_manager, server_credentials, |
| auth_enforcer, nullptr); |
| |
| StartReportRequest start_request; |
| StartReportResponse start_response; |
| EXPECT_EQ(grpc::StatusCode::PERMISSION_DENIED, |
| service.StartReport(nullptr, &start_request, &start_response) |
| .error_code()); |
| |
| GetReportRequest get_request; |
| Report get_response; |
| EXPECT_EQ( |
| grpc::StatusCode::PERMISSION_DENIED, |
| service.GetReport(nullptr, &get_request, &get_response).error_code()); |
| |
| QueryReportsRequest query_request; |
| TestingQueryReportsResponseWriter query_response; |
| EXPECT_EQ( |
| grpc::StatusCode::PERMISSION_DENIED, |
| service.QueryReportsInternal(nullptr, &query_request, &query_response) |
| .error_code()); |
| } |
| |
| } // namespace analyzer |
| } // namespace cobalt |