Remove all GetDev() and C++ tests for scene_controller and frontend
server
Bug: 284158685
Change-Id: Idc276fa37aca7fc2e136ed6b4950d49fa8d155e0
diff --git a/Android.bp b/Android.bp
index e3abf76..93a2780 100644
--- a/Android.bp
+++ b/Android.bp
@@ -232,9 +232,6 @@
name: "netsim-test",
defaults: ["netsim_defaults"],
srcs: [
- "src/controller/device_test.cc",
- "src/controller/scene_controller_test.cc",
- "src/frontend/frontend_server_test.cc",
"src/util/ini_file_test.cc",
"src/util/os_utils_test.cc",
"src/util/string_utils_test.cc",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6cfa95f..2f200d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,10 +57,7 @@
android_add_test(
TARGET netsim-test LICENSE Apache-2.0
- SRC src/controller/device_test.cc
- src/controller/scene_controller_test.cc
- src/frontend/frontend_server_test.cc
- src/util/ini_file_test.cc
+ SRC src/util/ini_file_test.cc
src/util/os_utils_test.cc
src/util/string_utils_test.cc
src/wifi/wifi_facade_test.cc
diff --git a/rust/netsim-cxx/src/captures/capture.rs b/rust/netsim-cxx/src/captures/capture.rs
index 74ac6da..cbb5999 100644
--- a/rust/netsim-cxx/src/captures/capture.rs
+++ b/rust/netsim-cxx/src/captures/capture.rs
@@ -32,7 +32,6 @@
use log::error;
use protobuf::well_known_types::timestamp::Timestamp;
-use crate::ffi::get_facade_id;
use crate::system;
use super::pcap_util::write_pcap_header;
@@ -86,15 +85,12 @@
/// Create an instance of CaptureInfo
pub fn new(chip_kind: ChipKind, chip_id: ChipId, device_name: String) -> Self {
CaptureInfo {
- facade_id: match crate::config::get_dev() {
- true => match crate::devices::devices_handler::get_facade_id(chip_id) {
- Ok(id) => id as i32,
- Err(err) => {
- error!("{err}");
- i32::MAX
- }
- },
- false => get_facade_id(chip_id),
+ facade_id: match crate::devices::devices_handler::get_facade_id(chip_id) {
+ Ok(id) => id as i32,
+ Err(err) => {
+ error!("{err}");
+ i32::MAX
+ }
},
id: chip_id,
chip_kind,
diff --git a/rust/netsim-cxx/src/captures/handlers.rs b/rust/netsim-cxx/src/captures/handlers.rs
index 6853c54..58b7eb3 100644
--- a/rust/netsim-cxx/src/captures/handlers.rs
+++ b/rust/netsim-cxx/src/captures/handlers.rs
@@ -32,7 +32,6 @@
use frontend_proto::frontend::{GetDevicesResponse, ListCaptureResponse};
use lazy_static::lazy_static;
use netsim_common::util::time_display::TimeDisplay;
-use protobuf::Message;
use protobuf_json_mapping::{print_to_string_with_options, PrintOptions};
use std::collections::HashSet;
use std::fs::File;
@@ -42,7 +41,7 @@
use std::time::{SystemTime, UNIX_EPOCH};
use crate::captures::capture::{Captures, ChipId};
-use crate::ffi::{get_devices_bytes, CxxServerResponseWriter};
+use crate::ffi::CxxServerResponseWriter;
use crate::http_server::http_request::{HttpHeaders, HttpRequest};
use crate::http_server::server_response::ResponseWritable;
use crate::system;
@@ -72,26 +71,11 @@
/// Note: if a device disconnects and there is captured data, the entry
/// remains with a flag valid = false so it can be retrieved.
pub fn update_captures() {
- let device_response = match crate::config::get_dev() {
- true => match crate::devices::devices_handler::get_devices() {
- Ok(scene) => GetDevicesResponse { devices: scene.devices, ..Default::default() },
- Err(err) => {
- println!("{err}");
- return;
- }
- },
- false => {
- // Perform get_devices_bytes ffi to receive bytes of GetDevicesResponse
- // Print error and return empty hashmap if GetDevicesBytes fails.
- let mut vec = Vec::<u8>::new();
- if !get_devices_bytes(&mut vec) {
- println!(
- "netsimd error: GetDevicesBytes failed - returning an empty set of captures"
- );
- return;
- }
- // Parse get_devices_response
- GetDevicesResponse::parse_from_bytes(&vec).unwrap()
+ let device_response = match crate::devices::devices_handler::get_devices() {
+ Ok(scene) => GetDevicesResponse { devices: scene.devices, ..Default::default() },
+ Err(err) => {
+ println!("{err}");
+ return;
}
};
diff --git a/rust/netsim-cxx/src/http_server/mod.rs b/rust/netsim-cxx/src/http_server/mod.rs
index 82209b2..ee2ee04 100644
--- a/rust/netsim-cxx/src/http_server/mod.rs
+++ b/rust/netsim-cxx/src/http_server/mod.rs
@@ -29,10 +29,6 @@
use crate::http_server::thread_pool::ThreadPool;
-use crate::ffi::get_devices;
-use crate::ffi::patch_device;
-use crate::ffi::reset;
-use cxx::let_cxx_string;
use log::{error, info, warn};
use netsim_common::util::netsim_logger;
use std::collections::HashSet;
@@ -146,41 +142,6 @@
writer.put_ok("text/plain", body.as_str(), &[]);
}
-fn handle_devices(request: &HttpRequest, _param: &str, writer: ResponseWritable) {
- if &request.method == "GET" {
- let_cxx_string!(request = "");
- let_cxx_string!(response = "");
- let_cxx_string!(error_message = "");
- let status = get_devices(&request, response.as_mut(), error_message.as_mut());
- if status == 200 {
- writer.put_ok("text/plain", response.to_string().as_str(), &[]);
- } else {
- let body = format!("404 Not found (netsim): {:?}", error_message.to_string());
- writer.put_error(404, body.as_str());
- }
- } else if &request.method == "PATCH" {
- let_cxx_string!(new_request = &request.body);
- let_cxx_string!(response = "");
- let_cxx_string!(error_message = "");
- let status = patch_device(&new_request, response.as_mut(), error_message.as_mut());
- if status == 200 {
- writer.put_ok("text/plain", response.to_string().as_str(), &[]);
- } else {
- let body = format!("404 Not found (netsim): {:?}", error_message.to_string());
- writer.put_error(404, body.as_str());
- }
- } else if &request.method == "PUT" {
- reset();
- writer.put_ok("text/plain", r"Device position reset success", &[]);
- } else {
- let body = format!(
- "404 Not found (netsim): {:?} is not a valid method for this route",
- request.method.to_string()
- );
- writer.put_error(404, body.as_str());
- }
-}
-
fn handle_dev(_request: &HttpRequest, _param: &str, writer: ResponseWritable) {
writer.put_ok("text/plain", r"Welcome to netsim developer mode", &[]);
}
@@ -189,12 +150,8 @@
let mut router = Router::new();
router.add_route("/", Box::new(handle_index));
router.add_route("/version", Box::new(handle_version));
- if crate::config::get_dev() {
- router.add_route(r"/v1/devices", Box::new(handle_device));
- router.add_route(r"/v1/devices/{id}", Box::new(handle_device));
- } else {
- router.add_route("/v1/devices", Box::new(handle_devices));
- }
+ router.add_route(r"/v1/devices", Box::new(handle_device));
+ router.add_route(r"/v1/devices/{id}", Box::new(handle_device));
router.add_route(r"/v1/captures", Box::new(handle_capture));
router.add_route(r"/v1/captures/{id}", Box::new(handle_capture));
diff --git a/src/controller/scene_controller.cc b/src/controller/scene_controller.cc
index ae7261f..46bf955 100644
--- a/src/controller/scene_controller.cc
+++ b/src/controller/scene_controller.cc
@@ -47,39 +47,29 @@
const std::string &guid, const std::string &device_name,
common::ChipKind chip_kind, const std::string &chip_name,
const std::string &manufacturer, const std::string &product_name) {
- if (netsim::config::GetDev()) {
- std::string chip_kind_string;
- switch (chip_kind) {
- case common::ChipKind::BLUETOOTH:
- chip_kind_string = "BLUETOOTH";
- break;
- case common::ChipKind::WIFI:
- chip_kind_string = "WIFI";
- break;
- case common::ChipKind::UWB:
- chip_kind_string = "UWB";
- break;
- default:
- chip_kind_string = "UNSPECIFIED";
- break;
- }
- std::unique_ptr<scene_controller::AddChipResult> add_chip_result_ptr =
- netsim::device::AddChipRust(guid, device_name, chip_kind_string,
- chip_name, manufacturer, product_name);
- uint32_t device_id = add_chip_result_ptr->device_id;
- uint32_t chip_id = add_chip_result_ptr->chip_id;
- uint32_t facade_id = add_chip_result_ptr->facade_id;
- netsim::capture::UpdateCaptures();
- return {device_id, chip_id, facade_id};
+ std::string chip_kind_string;
+ switch (chip_kind) {
+ case common::ChipKind::BLUETOOTH:
+ chip_kind_string = "BLUETOOTH";
+ break;
+ case common::ChipKind::WIFI:
+ chip_kind_string = "WIFI";
+ break;
+ case common::ChipKind::UWB:
+ chip_kind_string = "UWB";
+ break;
+ default:
+ chip_kind_string = "UNSPECIFIED";
+ break;
}
- auto device = GetDevice(guid, device_name);
- // TODO: catch case of similar name chips
- auto [chip_id, facade_id] =
- device->AddChip(chip_kind, chip_name, manufacturer, product_name);
- // notify capture handler a Chip was added
+ std::unique_ptr<scene_controller::AddChipResult> add_chip_result_ptr =
+ netsim::device::AddChipRust(guid, device_name, chip_kind_string,
+ chip_name, manufacturer, product_name);
+ uint32_t device_id = add_chip_result_ptr->device_id;
+ uint32_t chip_id = add_chip_result_ptr->chip_id;
+ uint32_t facade_id = add_chip_result_ptr->facade_id;
netsim::capture::UpdateCaptures();
- inactive_timestamp_.reset();
- return {device->id, chip_id, facade_id};
+ return {device_id, chip_id, facade_id};
}
std::shared_ptr<Device> SceneController::GetDevice(const std::string &guid,
@@ -107,25 +97,9 @@
void SceneController::RemoveChip(uint32_t device_id, uint32_t chip_id) {
std::unique_lock<std::mutex> lock(this->mutex_);
- if (netsim::config::GetDev()) {
- netsim::device::RemoveChipRust(device_id, chip_id);
- netsim::capture::UpdateCaptures();
- return;
- }
- BtsLog("Scene RemoveChip %d", chip_id);
- if (devices_.find(device_id) != devices_.end()) {
- auto device = devices_[device_id];
- if (device->RemoveChip(chip_id)) {
- BtsLog("SceneController::RemoveChip device %d, no more chips", device_id);
- this->RemoveDevice(device_id);
- if (devices_.empty())
- inactive_timestamp_.emplace(std::chrono::system_clock::now());
- }
- // notify capture handler a Chip was removed
- netsim::capture::UpdateCaptures();
- } else {
- std::cerr << "Trying to remove chip from unknown device" << std::endl;
- }
+ netsim::device::RemoveChipRust(device_id, chip_id);
+ netsim::capture::UpdateCaptures();
+ return;
}
// Returns a Device shared_ptr or nullptr
@@ -166,18 +140,7 @@
// Euclidian distance between two devices.
float SceneController::GetDistance(uint32_t id, uint32_t other_id) {
- if (netsim::config::GetDev()) {
- return netsim::device::GetDistanceRust(id, other_id);
- }
- if (devices_.find(id) == devices_.end() ||
- devices_.find(other_id) == devices_.end()) {
- BtsLog("Error in GetDistance %d, %d", id, other_id);
- return 0.0;
- }
- auto a = devices_[id]->position;
- auto b = devices_[other_id]->position;
- return sqrt(
- (pow(a.x() - b.x(), 2) + pow(a.y() - b.y(), 2) + pow(a.z() - b.z(), 2)));
+ return netsim::device::GetDistanceRust(id, other_id);
}
void SceneController::Reset() {
diff --git a/src/core/server.cc b/src/core/server.cc
index c1ad4eb..c29f0b9 100644
--- a/src/core/server.cc
+++ b/src/core/server.cc
@@ -111,16 +111,7 @@
while (true) {
std::this_thread::sleep_for(InactivityCheckInterval);
- if (netsim::config::GetDev()) {
- if (netsim::device::IsShutdownTimeCxx()) {
- grpc_server->Shutdown();
- BtsLog("Netsim has been shutdown due to inactivity.");
- break;
- }
- } else if (auto seconds_to_shutdown =
- netsim::scene_controller::GetShutdownTime();
- seconds_to_shutdown.has_value() &&
- seconds_to_shutdown.value() < std::chrono::seconds(0)) {
+ if (netsim::device::IsShutdownTimeCxx()) {
grpc_server->Shutdown();
BtsLog("Netsim has been shutdown due to inactivity.");
break;
diff --git a/src/frontend/frontend_server.cc b/src/frontend/frontend_server.cc
index eee7777..346a6b0 100644
--- a/src/frontend/frontend_server.cc
+++ b/src/frontend/frontend_server.cc
@@ -87,16 +87,6 @@
grpc::Status GetDevices(grpc::ServerContext *context,
const google::protobuf::Empty *empty,
frontend::GetDevicesResponse *reply) {
- if (netsim::config::GetDev()) {
- return GetDevicesDev(reply);
- }
- const auto scene = netsim::controller::SceneController::Singleton().Get();
- for (const auto &device : scene.devices())
- reply->add_devices()->CopyFrom(device);
- return grpc::Status::OK;
- }
-
- grpc::Status GetDevicesDev(frontend::GetDevicesResponse *reply) {
CxxServerResponseWritable writer;
HandleDeviceCxx(writer, "GET", "", "");
if (writer.is_ok) {
@@ -109,18 +99,6 @@
grpc::Status PatchDevice(grpc::ServerContext *context,
const frontend::PatchDeviceRequest *request,
google::protobuf::Empty *response) {
- if (netsim::config::GetDev()) {
- return PatchDeviceDev(request);
- }
- auto status = netsim::controller::SceneController::Singleton().PatchDevice(
- request->device());
- if (!status)
- return grpc::Status(grpc::StatusCode::NOT_FOUND,
- "device " + request->device().name() + " not found.");
- return grpc::Status::OK;
- }
-
- grpc::Status PatchDeviceDev(const frontend::PatchDeviceRequest *request) {
CxxServerResponseWritable writer;
std::string request_json;
google::protobuf::util::MessageToJsonString(*request, &request_json);
@@ -134,14 +112,6 @@
grpc::Status Reset(grpc::ServerContext *context,
const google::protobuf::Empty *request,
google::protobuf::Empty *empty) {
- if (netsim::config::GetDev()) {
- return ResetDev();
- }
- netsim::controller::SceneController::Singleton().Reset();
- return grpc::Status::OK;
- }
-
- grpc::Status ResetDev() {
CxxServerResponseWritable writer;
HandleDeviceCxx(writer, "PUT", "", "");
if (writer.is_ok) {
diff --git a/src/netsimd.cc b/src/netsimd.cc
index bdb9809..b85d2f7 100644
--- a/src/netsimd.cc
+++ b/src/netsimd.cc
@@ -142,7 +142,7 @@
netsim::osutils::RedirectStdStream(netsim::NetsimdTempDirString().c_str());
}
- netsim::config::SetDev(true);
+ netsim::config::SetDev(dev);
int hci_port = get_hci_port(hci_port_flag);
// Daemon mode -- start radio managers
// get netsim daemon, starting if it doesn't exist