diff --git a/live-tests/tests/sanity_gdev.rs b/live-tests/tests/sanity_gdev.rs
index 86cec2524db03228691c8a5b48dc5dfa4ffda3fb..eb4c296f1f93dc41f4c5997ed98a636ecd4e3b4e 100644
--- a/live-tests/tests/sanity_gdev.rs
+++ b/live-tests/tests/sanity_gdev.rs
@@ -56,6 +56,7 @@ type IdtyData = gdev::runtime_types::common_runtime::entities::IdtyData;
 type IdtyIndex = u32;
 type IdtyValue =
     gdev::runtime_types::pallet_identity::types::IdtyValue<BlockNumber, AccountId32, IdtyData>;
+type MembershipData = gdev::runtime_types::sp_membership::MembershipData<BlockNumber>;
 // use gdev::runtime_types::pallet_identity::types::IdtyStatus;
 
 struct Storage {
@@ -146,6 +147,25 @@ async fn sanity_tests_at(client: Client, _maybe_block_hash: Option<H256>) -> any
     }
     println!("identity_index_of.len(): {}.", identity_index_of.len());
 
+    // Collect memberships
+    let mut memberships: HashMap<IdtyIndex, MembershipData> = HashMap::new();
+    let mut membership_iter = client
+        .storage()
+        .at_latest()
+        .await
+        .unwrap()
+        .iter(gdev::storage().membership().membership_iter())
+        .await?;
+    while let Some(Ok((key, membership_data))) = membership_iter.next().await {
+        let mut idty_index_bytes = [0u8; 4];
+        idty_index_bytes.copy_from_slice(&key[40..]);
+        let membership_val = MembershipData {
+            expire_on: membership_data.expire_on,
+        };
+        memberships.insert(IdtyIndex::from_le_bytes(idty_index_bytes), membership_val);
+    }
+    println!("memberships.len(): {}.", memberships.len());
+
     let storage = Storage {
         accounts,
         identities,