|
| 1 | +#[cfg(feature = "csfle")] |
| 2 | +mod csfle; |
| 3 | +#[cfg(feature = "csfle")] |
| 4 | +use self::csfle::*; |
| 5 | + |
1 | 6 | use std::{
|
2 | 7 | collections::HashMap,
|
3 | 8 | convert::TryInto,
|
@@ -2792,189 +2797,6 @@ impl TestOperation for Upload {
|
2792 | 2797 | }
|
2793 | 2798 | }
|
2794 | 2799 |
|
2795 |
| -#[cfg(feature = "csfle")] |
2796 |
| -#[derive(Debug, Deserialize)] |
2797 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2798 |
| -pub(super) struct GetKeyByAltName { |
2799 |
| - key_alt_name: String, |
2800 |
| -} |
2801 |
| - |
2802 |
| -#[cfg(feature = "csfle")] |
2803 |
| -impl TestOperation for GetKeyByAltName { |
2804 |
| - fn execute_entity_operation<'a>( |
2805 |
| - &'a self, |
2806 |
| - id: &'a str, |
2807 |
| - test_runner: &'a TestRunner, |
2808 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2809 |
| - async move { |
2810 |
| - let ce = test_runner.get_client_encryption(id).await; |
2811 |
| - let key = ce.get_key_by_alt_name(&self.key_alt_name).await?; |
2812 |
| - let ent = match key { |
2813 |
| - Some(rd) => Entity::Bson(Bson::Document(rd.to_document()?)), |
2814 |
| - None => Entity::None, |
2815 |
| - }; |
2816 |
| - Ok(Some(ent)) |
2817 |
| - } |
2818 |
| - .boxed() |
2819 |
| - } |
2820 |
| -} |
2821 |
| - |
2822 |
| -#[cfg(feature = "csfle")] |
2823 |
| -#[derive(Debug, Deserialize)] |
2824 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2825 |
| -pub(super) struct DeleteKey { |
2826 |
| - id: bson::Binary, |
2827 |
| -} |
2828 |
| - |
2829 |
| -#[cfg(feature = "csfle")] |
2830 |
| -impl TestOperation for DeleteKey { |
2831 |
| - fn execute_entity_operation<'a>( |
2832 |
| - &'a self, |
2833 |
| - id: &'a str, |
2834 |
| - test_runner: &'a TestRunner, |
2835 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2836 |
| - async move { |
2837 |
| - let ce = test_runner.get_client_encryption(id).await; |
2838 |
| - let result = ce.delete_key(&self.id).await?; |
2839 |
| - Ok(Some(Entity::Bson(Bson::Document(bson::to_document( |
2840 |
| - &result, |
2841 |
| - )?)))) |
2842 |
| - } |
2843 |
| - .boxed() |
2844 |
| - } |
2845 |
| -} |
2846 |
| - |
2847 |
| -#[cfg(feature = "csfle")] |
2848 |
| -#[derive(Debug, Deserialize)] |
2849 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2850 |
| -pub(super) struct GetKey { |
2851 |
| - id: bson::Binary, |
2852 |
| -} |
2853 |
| - |
2854 |
| -#[cfg(feature = "csfle")] |
2855 |
| -impl TestOperation for GetKey { |
2856 |
| - fn execute_entity_operation<'a>( |
2857 |
| - &'a self, |
2858 |
| - id: &'a str, |
2859 |
| - test_runner: &'a TestRunner, |
2860 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2861 |
| - async move { |
2862 |
| - let ce = test_runner.get_client_encryption(id).await; |
2863 |
| - let entity = match ce.get_key(&self.id).await? { |
2864 |
| - Some(key) => Entity::Bson(Bson::Document(key.to_document()?)), |
2865 |
| - None => Entity::None, |
2866 |
| - }; |
2867 |
| - Ok(Some(entity)) |
2868 |
| - } |
2869 |
| - .boxed() |
2870 |
| - } |
2871 |
| -} |
2872 |
| - |
2873 |
| -#[cfg(feature = "csfle")] |
2874 |
| -#[derive(Debug, Deserialize)] |
2875 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2876 |
| -pub(super) struct AddKeyAltName { |
2877 |
| - id: bson::Binary, |
2878 |
| - key_alt_name: String, |
2879 |
| -} |
2880 |
| - |
2881 |
| -#[cfg(feature = "csfle")] |
2882 |
| -impl TestOperation for AddKeyAltName { |
2883 |
| - fn execute_entity_operation<'a>( |
2884 |
| - &'a self, |
2885 |
| - id: &'a str, |
2886 |
| - test_runner: &'a TestRunner, |
2887 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2888 |
| - async move { |
2889 |
| - let ce = test_runner.get_client_encryption(id).await; |
2890 |
| - let entity = match ce.add_key_alt_name(&self.id, &self.key_alt_name).await? { |
2891 |
| - Some(key) => Entity::Bson(Bson::Document(key.to_document()?)), |
2892 |
| - None => Entity::None, |
2893 |
| - }; |
2894 |
| - Ok(Some(entity)) |
2895 |
| - } |
2896 |
| - .boxed() |
2897 |
| - } |
2898 |
| -} |
2899 |
| - |
2900 |
| -#[cfg(feature = "csfle")] |
2901 |
| -#[derive(Debug, Deserialize)] |
2902 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2903 |
| -pub(super) struct CreateDataKey { |
2904 |
| - kms_provider: mongocrypt::ctx::KmsProvider, |
2905 |
| - opts: Option<crate::client_encryption::DataKeyOptions>, |
2906 |
| -} |
2907 |
| - |
2908 |
| -#[cfg(feature = "csfle")] |
2909 |
| -impl TestOperation for CreateDataKey { |
2910 |
| - fn execute_entity_operation<'a>( |
2911 |
| - &'a self, |
2912 |
| - id: &'a str, |
2913 |
| - test_runner: &'a TestRunner, |
2914 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2915 |
| - async move { |
2916 |
| - let ce = test_runner.get_client_encryption(id).await; |
2917 |
| - let key = ce |
2918 |
| - .create_data_key(&self.kms_provider, self.opts.clone()) |
2919 |
| - .await?; |
2920 |
| - Ok(Some(Entity::Bson(Bson::Binary(key)))) |
2921 |
| - } |
2922 |
| - .boxed() |
2923 |
| - } |
2924 |
| -} |
2925 |
| - |
2926 |
| -#[cfg(feature = "csfle")] |
2927 |
| -#[derive(Debug, Deserialize)] |
2928 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2929 |
| -pub(super) struct GetKeys {} |
2930 |
| - |
2931 |
| -#[cfg(feature = "csfle")] |
2932 |
| -impl TestOperation for GetKeys { |
2933 |
| - fn execute_entity_operation<'a>( |
2934 |
| - &'a self, |
2935 |
| - id: &'a str, |
2936 |
| - test_runner: &'a TestRunner, |
2937 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2938 |
| - async move { |
2939 |
| - let ce = test_runner.get_client_encryption(id).await; |
2940 |
| - let mut cursor = ce.get_keys().await?; |
2941 |
| - let mut keys = vec![]; |
2942 |
| - while let Some(key) = cursor.try_next().await? { |
2943 |
| - keys.push(Bson::Document(key.to_document()?)); |
2944 |
| - } |
2945 |
| - Ok(Some(Entity::Bson(Bson::Array(keys)))) |
2946 |
| - } |
2947 |
| - .boxed() |
2948 |
| - } |
2949 |
| -} |
2950 |
| - |
2951 |
| -#[cfg(feature = "csfle")] |
2952 |
| -#[derive(Debug, Deserialize)] |
2953 |
| -#[serde(rename_all = "camelCase", deny_unknown_fields)] |
2954 |
| -pub(super) struct RemoveKeyAltName { |
2955 |
| - id: bson::Binary, |
2956 |
| - key_alt_name: String, |
2957 |
| -} |
2958 |
| - |
2959 |
| -#[cfg(feature = "csfle")] |
2960 |
| -impl TestOperation for RemoveKeyAltName { |
2961 |
| - fn execute_entity_operation<'a>( |
2962 |
| - &'a self, |
2963 |
| - id: &'a str, |
2964 |
| - test_runner: &'a TestRunner, |
2965 |
| - ) -> BoxFuture<'a, Result<Option<Entity>>> { |
2966 |
| - async move { |
2967 |
| - let ce = test_runner.get_client_encryption(id).await; |
2968 |
| - let entity = match ce.remove_key_alt_name(&self.id, &self.key_alt_name).await? { |
2969 |
| - Some(key) => Entity::Bson(Bson::Document(key.to_document()?)), |
2970 |
| - None => Entity::None, |
2971 |
| - }; |
2972 |
| - Ok(Some(entity)) |
2973 |
| - } |
2974 |
| - .boxed() |
2975 |
| - } |
2976 |
| -} |
2977 |
| - |
2978 | 2800 | #[derive(Debug, Deserialize)]
|
2979 | 2801 | pub(super) struct UnimplementedOperation {
|
2980 | 2802 | _name: String,
|
|
0 commit comments