[wlan][scanner_unittest] Remove unncessary encode

With the new MlmeMsg constructor we can convert a FIDL message directly
to a MlmeMsg without encoding and decoding.

Test: Existing tests pass
Change-Id: I07c52fe12d0d085d46bd66df138d693b7a6fb613
diff --git a/lib/wlan/mlme/tests/scanner_unittest.cpp b/lib/wlan/mlme/tests/scanner_unittest.cpp
index 658b0ed..31baf70 100644
--- a/lib/wlan/mlme/tests/scanner_unittest.cpp
+++ b/lib/wlan/mlme/tests/scanner_unittest.cpp
@@ -49,26 +49,11 @@
         : chan_sched_(&on_channel_handler_, &mock_dev_, mock_dev_.CreateTimer(1u)),
           scanner_(&mock_dev_, &chan_sched_) {
         mock_dev_.SetChannel(wlan_channel_t{.primary = 11, .cbw = CBW20});
-        SetupMessages();
     }
 
    protected:
-    void SetupMessages() {
-        req_ = wlan_mlme::ScanRequest::New();
-        req_->txn_id = 123;
-        req_->channel_list.resize(0);
-        req_->channel_list->push_back(1);
-        req_->max_channel_time = 1u;
-        req_->ssid.resize(0);
-    }
-
-    zx_status_t Start() {
-        fidl::Encoder enc(fuchsia_wlan_mlme_MLMEStartScanOrdinal);
-        SerializeServiceMsg(&enc, req_.get());
-        auto start_req = MlmeMsg<wlan_mlme::ScanRequest>::Decode(
-            enc.GetMessage().bytes(), fuchsia_wlan_mlme_MLMEStartScanOrdinal);
-        if (!start_req.has_value()) { return ZX_ERR_IO; }
-        return scanner_.Start(*start_req);
+    zx_status_t Start(wlan_mlme::ScanRequest&& req) {
+        return scanner_.Start({std::move(req), fuchsia_wlan_mlme_MLMEOnScanResultOrdinal});
     }
 
     void AssertScanEnd(wlan_mlme::ScanResultCodes expected_code) {
@@ -79,30 +64,40 @@
         EXPECT_EQ(expected_code, scan_ends[0].body()->code);
     }
 
-    wlan_mlme::ScanRequestPtr req_;
     MockDevice mock_dev_;
     MockOnChannelHandler on_channel_handler_;
     ChannelScheduler chan_sched_;
     Scanner scanner_;
 };
 
+wlan_mlme::ScanRequest FakeScanRequest() {
+    wlan_mlme::ScanRequest req{};
+    req.txn_id = 123;
+    req.channel_list.resize(0);
+    req.channel_list->push_back(1);
+    req.max_channel_time = 1u;
+    req.ssid.resize(0);
+    return req;
+}
+
 TEST_F(ScannerTest, Start) {
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
     EXPECT_FALSE(scanner_.IsRunning());
 
-    EXPECT_EQ(ZX_OK, Start());
+    EXPECT_EQ(ZX_OK, Start(FakeScanRequest()));
     EXPECT_TRUE(scanner_.IsRunning());
 
     EXPECT_EQ(1u, mock_dev_.GetChannelNumber());
 }
 
 TEST_F(ScannerTest, Start_InvalidChannelTimes) {
-    req_->min_channel_time = 2;
-    req_->max_channel_time = 1;
+    auto req = FakeScanRequest();
+    req.min_channel_time = 2;
+    req.max_channel_time = 1;
 
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
 
-    EXPECT_EQ(ZX_ERR_INVALID_ARGS, Start());
+    EXPECT_EQ(ZX_ERR_INVALID_ARGS, Start(std::move(req)));
     EXPECT_FALSE(scanner_.IsRunning());
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
 
@@ -110,12 +105,12 @@
 }
 
 TEST_F(ScannerTest, Start_NoChannels) {
-    SetupMessages();
-    req_->channel_list.resize(0);
+    auto req = FakeScanRequest();
+    req.channel_list.resize(0);
 
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
 
-    EXPECT_EQ(ZX_ERR_INVALID_ARGS, Start());
+    EXPECT_EQ(ZX_ERR_INVALID_ARGS, Start(std::move(req)));
     EXPECT_FALSE(scanner_.IsRunning());
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
 
@@ -123,7 +118,7 @@
 }
 
 TEST_F(ScannerTest, Reset) {
-    ASSERT_EQ(ZX_OK, Start());
+    ASSERT_EQ(ZX_OK, Start(FakeScanRequest()));
     ASSERT_TRUE(scanner_.IsRunning());
 
     scanner_.Reset();
@@ -132,24 +127,25 @@
 }
 
 TEST_F(ScannerTest, ScanChannel) {
-    ASSERT_EQ(ZX_OK, Start());
+    ASSERT_EQ(ZX_OK, Start(FakeScanRequest()));
     auto chan = scanner_.ScanChannel();
     EXPECT_EQ(1u, chan.primary);
 }
 
 TEST_F(ScannerTest, Timeout_NextChannel) {
-    req_->min_channel_time = 1;
-    req_->max_channel_time = 10;
-    req_->channel_list.push_back(2);
+    auto req = FakeScanRequest();
+    req.min_channel_time = 1;
+    req.max_channel_time = 10;
+    req.channel_list.push_back(2);
 
     EXPECT_EQ(11u, mock_dev_.GetChannelNumber());
 
-    ASSERT_EQ(ZX_OK, Start());
+    ASSERT_EQ(ZX_OK, Start(std::move(req)));
     ASSERT_EQ(1u, scanner_.ScanChannel().primary);
 
     EXPECT_EQ(1u, mock_dev_.GetChannelNumber());
 
-    mock_dev_.AdvanceTime(WLAN_TU(req_->max_channel_time));
+    mock_dev_.AdvanceTime(WLAN_TU(req.max_channel_time));
     chan_sched_.HandleTimeout();
     EXPECT_EQ(2u, scanner_.ScanChannel().primary);
 
@@ -157,7 +153,7 @@
 }
 
 TEST_F(ScannerTest, ScanResponse) {
-    ASSERT_EQ(ZX_OK, Start());
+    ASSERT_EQ(ZX_OK, Start(FakeScanRequest()));
 
     wlan_rx_info_t info;
     info.valid_fields = WLAN_RX_INFO_VALID_RSSI | WLAN_RX_INFO_VALID_SNR;