[wlan][policy] make lookup fn use ref

This changes SavedNetworksManager's lookup function to take a reference
instead of a value because passing by value is not necessary.

Test: refactor only
Change-Id: Ic51d8183858591a18f629c8be15a74b14c2af6ef
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/692902
Reviewed-by: Marc Khouri <mnck@google.com>
Commit-Queue: Naomi Mccracken <nmccracken@google.com>
diff --git a/src/connectivity/wlan/wlancfg/fuzz/src/lib.rs b/src/connectivity/wlan/wlancfg/fuzz/src/lib.rs
index b1c5bf8..b755561 100644
--- a/src/connectivity/wlan/wlancfg/fuzz/src/lib.rs
+++ b/src/connectivity/wlan/wlancfg/fuzz/src/lib.rs
@@ -25,7 +25,7 @@
     // exist yet
     let saved_networks = create_saved_networks(stash_id).await;
 
-    assert!(saved_networks.lookup(id.clone()).await.is_empty());
+    assert!(saved_networks.lookup(&id).await.is_empty());
     assert_eq!(0, saved_networks.known_network_count().await);
 
     // Store a fuzzed network identifier and credential.
@@ -34,7 +34,7 @@
         .await
         .expect("storing network failed")
         .is_none());
-    assert_variant!(saved_networks.lookup(id.clone()).await.as_slice(),
+    assert_variant!(saved_networks.lookup(&id).await.as_slice(),
         [network_config] => {
             assert_eq!(network_config.ssid, id.ssid);
             assert_eq!(network_config.security_type, id.security_type);
@@ -45,7 +45,7 @@
 
     // Saved networks should persist when we create a saved networks manager with the same ID.
     let saved_networks = create_saved_networks(stash_id).await;
-    assert_variant!(saved_networks.lookup(id.clone()).await.as_slice(),
+    assert_variant!(saved_networks.lookup(&id).await.as_slice(),
         [network_config] => {
             assert_eq!(network_config.ssid, id.ssid);
             assert_eq!(network_config.security_type, id.security_type);
diff --git a/src/connectivity/wlan/wlancfg/src/client/mod.rs b/src/connectivity/wlan/wlancfg/src/client/mod.rs
index 7493c8c..0ff40cb 100644
--- a/src/connectivity/wlan/wlancfg/src/client/mod.rs
+++ b/src/connectivity/wlan/wlancfg/src/client/mod.rs
@@ -245,7 +245,7 @@
     network: &fidl_policy::NetworkIdentifier,
 ) -> Result<oneshot::Receiver<()>, Error> {
     let network_config = saved_networks
-        .lookup(NetworkIdentifier::new(
+        .lookup(&NetworkIdentifier::new(
             client_types::Ssid::from_bytes_unchecked(network.ssid.clone()),
             network.type_.into(),
         ))
@@ -820,8 +820,8 @@
 
         // Unknown network should not have been saved by saved networks manager
         // since we did not successfully connect.
-        let lookup_fut =
-            test_values.saved_networks.lookup(NetworkIdentifier::new(ssid, SecurityType::None));
+        let id = NetworkIdentifier::new(ssid, SecurityType::None);
+        let lookup_fut = test_values.saved_networks.lookup(&id);
         assert!(exec.run_singlethreaded(lookup_fut).is_empty());
     }
 
@@ -1378,7 +1378,7 @@
         let target_id = NetworkIdentifier::from(network_id);
         let target_config = NetworkConfig::new(target_id.clone(), Credential::None, false)
             .expect("Failed to create network config");
-        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(target_id)), vec![target_config]);
+        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(&target_id)), vec![target_config]);
     }
 
     #[fuchsia::test]
@@ -1460,7 +1460,7 @@
         let target_id = NetworkIdentifier::from(network_id);
         let target_config = NetworkConfig::new(target_id.clone(), Credential::None, false)
             .expect("Failed to create network config");
-        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(target_id)), vec![target_config]);
+        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(&target_id)), vec![target_config]);
     }
 
     #[fuchsia::test]
@@ -1606,7 +1606,7 @@
 
         // Check that the value was was not saved in saved networks manager.
         let target_id = NetworkIdentifier::from(bad_network_id);
-        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(target_id)), vec![]);
+        assert_eq!(exec.run_singlethreaded(saved_networks.lookup(&target_id)), vec![]);
     }
 
     #[fuchsia::test]
@@ -1684,7 +1684,7 @@
         });
         assert_variant!(exec.run_until_stalled(&mut remove_fut), Poll::Ready(Ok(Ok(()))));
         assert_variant!(exec.run_until_stalled(&mut serve_fut), Poll::Pending);
-        assert!(exec.run_singlethreaded(saved_networks.lookup(network_id)).is_empty());
+        assert!(exec.run_singlethreaded(saved_networks.lookup(&network_id)).is_empty());
 
         // Removing a network that is not saved should not trigger a disconnect.
         let mut remove_fut = controller.remove_network(network_config.clone());
@@ -2158,7 +2158,7 @@
         cred: Credential,
     ) -> Option<NetworkConfig> {
         let mut cfgs = saved_networks
-            .lookup(id)
+            .lookup(&id)
             .await
             .into_iter()
             .filter(|cfg| cfg.credential == cred)
diff --git a/src/connectivity/wlan/wlancfg/src/client/network_selection.rs b/src/connectivity/wlan/wlancfg/src/client/network_selection.rs
index 44b76ce..0f2aae1 100644
--- a/src/connectivity/wlan/wlancfg/src/client/network_selection.rs
+++ b/src/connectivity/wlan/wlancfg/src/client/network_selection.rs
@@ -1005,7 +1005,7 @@
         // build our expected result
         let failure_time = test_values
             .saved_network_manager
-            .lookup(test_id_1.clone().into())
+            .lookup(&test_id_1.clone().into())
             .await
             .get(0)
             .expect("failed to get config")
diff --git a/src/connectivity/wlan/wlancfg/src/client/scan.rs b/src/connectivity/wlan/wlancfg/src/client/scan.rs
index 1059a00..4562d12 100644
--- a/src/connectivity/wlan/wlancfg/src/client/scan.rs
+++ b/src/connectivity/wlan/wlancfg/src/client/scan.rs
@@ -1499,7 +1499,7 @@
             saved_networks_manager.update_hidden_prob(network_id.clone().into(), 0.0),
         );
         let config = exec
-            .run_singlethreaded(saved_networks_manager.lookup(network_id.clone().into()))
+            .run_singlethreaded(saved_networks_manager.lookup(&network_id.clone().into()))
             .pop()
             .expect("failed to lookup");
         assert_eq!(config.hidden_probability, 0.0);
@@ -1675,7 +1675,7 @@
             saved_networks_manager.update_hidden_prob(unseen_network.clone().into(), 1.0),
         );
         let config = exec
-            .run_singlethreaded(saved_networks_manager.lookup(unseen_network.clone().into()))
+            .run_singlethreaded(saved_networks_manager.lookup(&unseen_network.clone().into()))
             .pop()
             .expect("failed to lookup");
         assert_eq!(config.hidden_probability, 1.0);
diff --git a/src/connectivity/wlan/wlancfg/src/client/state_machine.rs b/src/connectivity/wlan/wlancfg/src/client/state_machine.rs
index 75bc41d..e8b2fe7 100644
--- a/src/connectivity/wlan/wlancfg/src/client/state_machine.rs
+++ b/src/connectivity/wlan/wlancfg/src/client/state_machine.rs
@@ -1168,7 +1168,7 @@
 
         // Check that the saved networks manager has the expected initial data
         let saved_networks = exec.run_singlethreaded(
-            saved_networks_manager.lookup(connect_request.target.network.clone().into()),
+            saved_networks_manager.lookup(&connect_request.target.network.clone().into()),
         );
         assert_eq!(false, saved_networks[0].has_ever_connected);
         assert!(saved_networks[0].hidden_probability > 0.0);
@@ -1253,7 +1253,7 @@
 
         // Check that the saved networks manager has the connection recorded
         let saved_networks = exec.run_singlethreaded(
-            saved_networks_manager.lookup(connect_request.target.network.clone().into()),
+            saved_networks_manager.lookup(&connect_request.target.network.clone().into()),
         );
         assert_eq!(true, saved_networks[0].has_ever_connected);
         assert_eq!(
@@ -1533,7 +1533,7 @@
 
         // Check that the saved networks manager has the expected initial data
         let saved_networks = exec.run_singlethreaded(
-            saved_networks_manager.lookup(connect_request.target.network.clone().into()),
+            saved_networks_manager.lookup(&connect_request.target.network.clone().into()),
         );
         assert_eq!(false, saved_networks[0].has_ever_connected);
         assert!(saved_networks[0].hidden_probability > 0.0);
@@ -2442,7 +2442,7 @@
         });
 
         // Check that failure was recorded in SavedNetworksManager
-        let mut configs = exec.run_singlethreaded(saved_networks_manager.lookup(config_net_id));
+        let mut configs = exec.run_singlethreaded(saved_networks_manager.lookup(&config_net_id));
         let network_config = configs.pop().expect("Failed to get saved network");
         let mut failures =
             network_config.perf_stats.connect_failures.get_recent_for_network(before_recording);
@@ -2593,7 +2593,7 @@
         });
 
         // Check that failure was recorded in SavedNetworksManager
-        let mut configs = exec.run_singlethreaded(saved_networks_manager.lookup(config_net_id));
+        let mut configs = exec.run_singlethreaded(saved_networks_manager.lookup(&config_net_id));
         let network_config = configs.pop().expect("Failed to get saved network");
         let mut failures =
             network_config.perf_stats.connect_failures.get_recent_for_network(before_recording);
diff --git a/src/connectivity/wlan/wlancfg/src/config_management/config_manager.rs b/src/connectivity/wlan/wlancfg/src/config_management/config_manager.rs
index ac29ede..a4daf6c 100644
--- a/src/connectivity/wlan/wlancfg/src/config_management/config_manager.rs
+++ b/src/connectivity/wlan/wlancfg/src/config_management/config_manager.rs
@@ -75,7 +75,7 @@
     async fn known_network_count(&self) -> usize;
 
     /// Return a list of network configs that match the given SSID.
-    async fn lookup(&self, id: NetworkIdentifier) -> Vec<NetworkConfig>;
+    async fn lookup(&self, id: &NetworkIdentifier) -> Vec<NetworkConfig>;
 
     /// Return a list of network configs that could be used with the security type seen in a scan.
     /// This includes configs that have a lower security type that can be upgraded to match the
@@ -292,8 +292,8 @@
         self.saved_networks.lock().await.values().into_iter().flatten().count()
     }
 
-    async fn lookup(&self, id: NetworkIdentifier) -> Vec<NetworkConfig> {
-        self.saved_networks.lock().await.get(&id).cloned().unwrap_or_default()
+    async fn lookup(&self, id: &NetworkIdentifier) -> Vec<NetworkConfig> {
+        self.saved_networks.lock().await.get(id).cloned().unwrap_or_default()
     }
 
     async fn lookup_compatible(
@@ -693,7 +693,7 @@
         let saved_networks = create_saved_networks(stash_id, &path).await;
         let network_id_foo = NetworkIdentifier::try_from("foo", SecurityType::Wpa2).unwrap();
 
-        assert!(saved_networks.lookup(network_id_foo.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id_foo).await.is_empty());
         assert_eq!(0, saved_networks.saved_networks.lock().await.len());
         assert_eq!(0, saved_networks.known_network_count().await);
 
@@ -705,7 +705,7 @@
             .is_none());
         assert_eq!(
             vec![network_config("foo", "qwertyuio")],
-            saved_networks.lookup(network_id_foo.clone()).await
+            saved_networks.lookup(&network_id_foo).await
         );
         assert_eq!(1, saved_networks.known_network_count().await);
 
@@ -720,7 +720,7 @@
         // When this constant becomes greater than 1, both network configs should be found
         assert_eq!(
             vec![network_config("foo", "12345678")],
-            saved_networks.lookup(network_id_foo.clone()).await
+            saved_networks.lookup(&network_id_foo).await
         );
         assert_eq!(1, saved_networks.known_network_count().await);
 
@@ -734,7 +734,7 @@
             .await
             .expect("storing 'baz' with PSK failed")
             .is_none());
-        assert_eq!(vec![config_baz.clone()], saved_networks.lookup(network_id_baz.clone()).await);
+        assert_eq!(vec![config_baz.clone()], saved_networks.lookup(&network_id_baz).await);
         assert_eq!(2, saved_networks.known_network_count().await);
 
         // Saved networks should persist when we create a saved networks manager with the same ID.
@@ -747,9 +747,9 @@
         .expect("failed to create saved networks store");
         assert_eq!(
             vec![network_config("foo", "12345678")],
-            saved_networks.lookup(network_id_foo.clone()).await
+            saved_networks.lookup(&network_id_foo).await
         );
-        assert_eq!(vec![config_baz], saved_networks.lookup(network_id_baz).await);
+        assert_eq!(vec![config_baz], saved_networks.lookup(&network_id_baz).await);
         assert_eq!(2, saved_networks.known_network_count().await);
     }
 
@@ -772,7 +772,7 @@
         // Because the same network was stored twice, nothing was evicted, so popped_network == None
         assert_eq!(popped_network, None);
         let expected_cfgs = vec![network_config("foo", "qwertyuio")];
-        assert_eq!(expected_cfgs, saved_networks.lookup(network_id).await);
+        assert_eq!(expected_cfgs, saved_networks.lookup(&network_id).await);
         assert_eq!(1, saved_networks.known_network_count().await);
     }
 
@@ -799,7 +799,7 @@
         }
 
         // since none have been connected to yet, we don't care which config was removed
-        assert_eq!(MAX_CONFIGS_PER_SSID, saved_networks.lookup(network_id).await.len());
+        assert_eq!(MAX_CONFIGS_PER_SSID, saved_networks.lookup(&network_id).await.len());
     }
 
     #[fuchsia::test]
@@ -811,7 +811,7 @@
 
         let network_id = NetworkIdentifier::try_from("foo", SecurityType::Wpa2).unwrap();
         let credential = Credential::Password(b"qwertyuio".to_vec());
-        assert!(saved_networks.lookup(network_id.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id).await.is_empty());
         assert_eq!(0, saved_networks.known_network_count().await);
 
         // Store a network and verify it was stored.
@@ -822,7 +822,7 @@
             .is_none());
         assert_eq!(
             vec![network_config("foo", "qwertyuio")],
-            saved_networks.lookup(network_id.clone()).await
+            saved_networks.lookup(&network_id).await
         );
         assert_eq!(1, saved_networks.known_network_count().await);
 
@@ -865,7 +865,7 @@
         .await
         .expect("Failed to create SavedNetworksManager");
         assert_eq!(0, saved_networks.known_network_count().await);
-        assert!(saved_networks.lookup(network_id.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id).await.is_empty());
     }
 
     #[fuchsia::test]
@@ -1003,7 +1003,7 @@
                 None,
             )
             .await;
-        assert!(saved_networks.lookup(network_id.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id).await.is_empty());
         assert_eq!(saved_networks.saved_networks.lock().await.len(), 0);
         assert_eq!(0, saved_networks.known_network_count().await);
 
@@ -1015,7 +1015,7 @@
             .is_none());
 
         let config = network_config("bar", "password");
-        assert_eq!(vec![config], saved_networks.lookup(network_id.clone()).await);
+        assert_eq!(vec![config], saved_networks.lookup(&network_id).await);
 
         saved_networks
             .record_connect_result(
@@ -1029,7 +1029,7 @@
 
         // The network should be saved with the connection recorded. We should not have recorded
         // that the network was connected to passively or actively.
-        assert_variant!(saved_networks.lookup(network_id.clone()).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&network_id).await.as_slice(), [config] => {
             assert_eq!(config.has_ever_connected, true);
             assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
         });
@@ -1044,7 +1044,7 @@
             )
             .await;
         // We should now see that we connected to the network after an active scan.
-        assert_variant!(saved_networks.lookup(network_id.clone()).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&network_id).await.as_slice(), [config] => {
             assert_eq!(config.has_ever_connected, true);
             assert_eq!(config.hidden_probability, PROB_HIDDEN_IF_CONNECT_ACTIVE);
         });
@@ -1059,7 +1059,7 @@
             )
             .await;
         // The config should have a lower hidden probability after connecting after a passive scan.
-        assert_variant!(saved_networks.lookup(network_id.clone()).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&network_id).await.as_slice(), [config] => {
             assert_eq!(config.has_ever_connected, true);
             assert_eq!(config.hidden_probability, PROB_HIDDEN_IF_CONNECT_PASSIVE);
         });
@@ -1072,7 +1072,7 @@
         )
         .await
         .expect("Failed to create SavedNetworksManager");
-        assert_variant!(saved_networks.lookup(network_id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&network_id).await.as_slice(), [config] => {
             assert_eq!(config.has_ever_connected, true);
         });
     }
@@ -1108,12 +1108,12 @@
             )
             .await;
 
-        assert_variant!(saved_networks.lookup(net_id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&net_id).await.as_slice(), [config] => {
             assert!(config.has_ever_connected);
         });
         // If the specified network identifier is found, record_conenct_result should not mark
         // another config even if it could also have been used for the connect attempt.
-        assert_variant!(saved_networks.lookup(net_id_also_valid).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&net_id_also_valid).await.as_slice(), [config] => {
             assert!(!config.has_ever_connected);
         });
     }
@@ -1141,7 +1141,7 @@
                 None,
             )
             .await;
-        assert!(saved_networks.lookup(network_id.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id).await.is_empty());
         assert_eq!(0, saved_networks.saved_networks.lock().await.len());
         assert_eq!(0, saved_networks.known_network_count().await);
 
@@ -1180,7 +1180,7 @@
         // Check that the failures were recorded correctly.
         assert_eq!(1, saved_networks.known_network_count().await);
         let saved_config = saved_networks
-            .lookup(network_id)
+            .lookup(&network_id)
             .await
             .pop()
             .expect("Failed to get saved network config");
@@ -1222,7 +1222,7 @@
                 None,
             )
             .await;
-        assert!(saved_networks.lookup(network_id.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id).await.is_empty());
         assert_eq!(saved_networks.saved_networks.lock().await.len(), 0);
         assert_eq!(0, saved_networks.known_network_count().await);
 
@@ -1248,7 +1248,7 @@
         // Check that there are no failures recorded for this saved network.
         assert_eq!(1, saved_networks.known_network_count().await);
         let saved_config = saved_networks
-            .lookup(network_id)
+            .lookup(&network_id)
             .await
             .pop()
             .expect("Failed to get saved network config");
@@ -1281,7 +1281,7 @@
 
         // Check that a data was recorded about the connection that just ended.
         let recent_connections = saved_networks
-            .lookup(id)
+            .lookup(&id)
             .await
             .pop()
             .expect("Failed to get saved network")
@@ -1328,10 +1328,10 @@
         let seen_networks = vec![saved_seen_network, unsaved_network];
         saved_networks.record_scan_result(ScanResultType::Undirected, seen_networks).await;
 
-        assert_variant!(saved_networks.lookup(saved_seen_id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&saved_seen_id).await.as_slice(), [config] => {
             assert_eq!(config.hidden_probability, PROB_HIDDEN_IF_SEEN_PASSIVE);
         });
-        assert_variant!(saved_networks.lookup(saved_unseen_id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&saved_unseen_id).await.as_slice(), [config] => {
             assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
         });
     }
@@ -1360,7 +1360,7 @@
         }];
         saved_networks.record_scan_result(ScanResultType::Undirected, seen_networks).await;
         // The network was seen in a passive scan, so hidden probability should be updated.
-        assert_variant!(saved_networks.lookup(id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&id).await.as_slice(), [config] => {
             assert_eq!(config.hidden_probability, PROB_HIDDEN_IF_SEEN_PASSIVE);
         });
     }
@@ -1390,7 +1390,7 @@
         saved_networks.record_scan_result(ScanResultType::Undirected, seen_networks).await;
         // The network in the passive scan results was not compatible, so hidden probability should
         // not have been updated.
-        assert_variant!(saved_networks.lookup(id).await.as_slice(), [config] => {
+        assert_variant!(saved_networks.lookup(&id).await.as_slice(), [config] => {
             assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
         });
     }
@@ -1411,8 +1411,7 @@
             .await
             .expect("Failed to save network")
             .is_none());
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         // Record directed scan results. The config's probability hidden should not be lowered
@@ -1427,8 +1426,7 @@
         }];
         saved_networks.record_scan_result(ScanResultType::Directed(target), seen_networks).await;
 
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
     }
 
@@ -1449,8 +1447,7 @@
             .await
             .expect("Failed to save network")
             .is_none());
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         // Record directed scan results. The seen network does not match the saved network even
@@ -1466,8 +1463,7 @@
         saved_networks.record_scan_result(ScanResultType::Directed(target), seen_networks).await;
         // The hidden probability should have been lowered because a directed scan failed to find
         // the network.
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert!(config.hidden_probability < PROB_HIDDEN_DEFAULT);
     }
 
@@ -1489,8 +1485,7 @@
             .await
             .expect("Failed to save network")
             .is_none());
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         // Record directed scan results. We target the saved network but see a different one.
@@ -1504,7 +1499,7 @@
         }];
         saved_networks.record_scan_result(ScanResultType::Directed(target), seen_networks).await;
 
-        let config = saved_networks.lookup(id).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert!(config.hidden_probability < PROB_HIDDEN_DEFAULT);
     }
 
@@ -1525,8 +1520,7 @@
             .await
             .expect("Failed to save network")
             .is_none());
-        let config =
-            saved_networks.lookup(id.clone()).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         // Record directed scan results. We see one network with the same SSID that doesn't match,
@@ -1548,7 +1542,7 @@
         saved_networks.record_scan_result(ScanResultType::Directed(target), seen_networks).await;
         // Since the directed scan found a matching network, the hidden probability should not
         // have been lowered.
-        let config = saved_networks.lookup(id).await.pop().expect("failed to lookup config");
+        let config = saved_networks.lookup(&id).await.pop().expect("failed to lookup config");
         assert_eq!(config.hidden_probability, PROB_HIDDEN_DEFAULT);
     }
 
@@ -1602,7 +1596,7 @@
             .is_none());
         assert_eq!(
             vec![network_config("foo", "qwertyuio")],
-            saved_networks.lookup(network_id).await
+            saved_networks.lookup(&network_id).await
         );
         assert_eq!(1, saved_networks.known_network_count().await);
 
@@ -1720,7 +1714,7 @@
         let network_id_foo = NetworkIdentifier::try_from("foo", SecurityType::Wpa2).unwrap();
         let network_id_baz = NetworkIdentifier::try_from("baz", SecurityType::Wpa2).unwrap();
 
-        assert!(saved_networks.lookup(network_id_foo.clone()).await.is_empty());
+        assert!(saved_networks.lookup(&network_id_foo).await.is_empty());
         assert_eq!(0, saved_networks.saved_networks.lock().await.len());
         assert_eq!(0, saved_networks.known_network_count().await);
 
@@ -1962,11 +1956,11 @@
             .is_none());
         // Check that the saved networks have the default hidden probability so later we can just
         // check that the probability has changed.
-        let config_1 = saved_networks.lookup(id_1.clone()).await.pop().expect("failed to lookup");
+        let config_1 = saved_networks.lookup(&id_1).await.pop().expect("failed to lookup");
         assert_eq!(config_1.hidden_probability, PROB_HIDDEN_DEFAULT);
-        let config_2 = saved_networks.lookup(id_2.clone()).await.pop().expect("failed to lookup");
+        let config_2 = saved_networks.lookup(&id_2).await.pop().expect("failed to lookup");
         assert_eq!(config_2.hidden_probability, PROB_HIDDEN_DEFAULT);
-        let config_4 = saved_networks.lookup(id_4.clone()).await.pop().expect("failed to lookup");
+        let config_4 = saved_networks.lookup(&id_4).await.pop().expect("failed to lookup");
         assert_eq!(config_4.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         let seen_ids = vec![];
@@ -1974,18 +1968,18 @@
         saved_networks.record_scan_result(ScanResultType::Directed(not_seen_ids), seen_ids).await;
 
         // Check that the configs' hidden probability has decreased
-        let config_1 = saved_networks.lookup(id_1).await.pop().expect("failed to lookup");
+        let config_1 = saved_networks.lookup(&id_1).await.pop().expect("failed to lookup");
         assert!(config_1.hidden_probability < PROB_HIDDEN_DEFAULT);
-        let config_2 = saved_networks.lookup(id_2).await.pop().expect("failed to lookup");
+        let config_2 = saved_networks.lookup(&id_2).await.pop().expect("failed to lookup");
         assert!(config_2.hidden_probability < PROB_HIDDEN_DEFAULT);
 
         // Check that for the network that was target but not seen in the active scan, its hidden
         // probability isn't lowered.
-        let config_4 = saved_networks.lookup(id_4.clone()).await.pop().expect("failed to lookup");
+        let config_4 = saved_networks.lookup(&id_4).await.pop().expect("failed to lookup");
         assert_eq!(config_4.hidden_probability, PROB_HIDDEN_DEFAULT);
 
         // Check that a config was not saved for the identifier that was not saved before.
-        assert!(saved_networks.lookup(id_3).await.is_empty());
+        assert!(saved_networks.lookup(&id_3).await.is_empty());
     }
 
     #[fuchsia::test]
diff --git a/src/connectivity/wlan/wlancfg/src/util/testing/fakes.rs b/src/connectivity/wlan/wlancfg/src/util/testing/fakes.rs
index 50b4be8..dab706e 100644
--- a/src/connectivity/wlan/wlancfg/src/util/testing/fakes.rs
+++ b/src/connectivity/wlan/wlancfg/src/util/testing/fakes.rs
@@ -157,8 +157,8 @@
         unimplemented!()
     }
 
-    async fn lookup(&self, id: NetworkIdentifier) -> Vec<NetworkConfig> {
-        self.saved_networks.lock().await.entry(id).or_default().iter().map(Clone::clone).collect()
+    async fn lookup(&self, id: &NetworkIdentifier) -> Vec<NetworkConfig> {
+        self.saved_networks.lock().await.get(id).cloned().unwrap_or_default()
     }
 
     async fn lookup_compatible(