@@ -239,3 +239,53 @@ func TestJindoFSxEngine_transformMasterWithMultipleOSSEncryptOptions(t *testing.
239239 t .Fatalf ("expected bucket-b fuse credentials provider %q, got %q" , jindoOSSCredentialsProvider , got )
240240 }
241241}
242+
243+ func TestJindoFSxEngine_transformMasterDoesNotPersistInlineOSSCredentials (t * testing.T ) {
244+ s := runtime .NewScheme ()
245+ s .AddKnownTypes (datav1alpha1 .GroupVersion , & datav1alpha1.JindoRuntime {}, & datav1alpha1.Dataset {})
246+ _ = corev1 .AddToScheme (s )
247+
248+ engine := JindoFSxEngine {
249+ name : "test" ,
250+ namespace : "fluid" ,
251+ Client : fake .NewFakeClientWithScheme (s ),
252+ Log : fake .NullLogger (),
253+ runtime : & datav1alpha1.JindoRuntime {
254+ Spec : datav1alpha1.JindoRuntimeSpec {
255+ Fuse : datav1alpha1.JindoFuseSpec {},
256+ },
257+ },
258+ }
259+
260+ dataset := & datav1alpha1.Dataset {
261+ Spec : datav1alpha1.DatasetSpec {
262+ Mounts : []datav1alpha1.Mount {{
263+ MountPoint : "oss://bucket-a/data" ,
264+ Name : "mount-a" ,
265+ Options : map [string ]string {
266+ "fs.oss.endpoint" : "oss-cn-shanghai.aliyuncs.com" ,
267+ "fs.oss.accessKeyId" : "inline-ak" ,
268+ "fs.oss.accessKeySecret" : "inline-sk" ,
269+ },
270+ }},
271+ },
272+ }
273+
274+ value := & Jindo {}
275+ if err := engine .transformMaster (engine .runtime , "/test" , value , dataset , true ); err != nil {
276+ t .Fatalf ("transformMaster() error = %v" , err )
277+ }
278+
279+ if got := value .Master .FileStoreProperties ["jindofsx.oss.bucket.bucket-a.endpoint" ]; got != "oss-cn-shanghai.aliyuncs.com" {
280+ t .Fatalf ("expected bucket-a endpoint to be preserved, got %q" , got )
281+ }
282+ if _ , ok := value .Master .FileStoreProperties ["jindofsx.oss.bucket.bucket-a.accessKeyId" ]; ok {
283+ t .Fatalf ("expected inline bucket-a accessKeyId to stay out of fileStoreProperties" )
284+ }
285+ if _ , ok := value .Master .FileStoreProperties ["jindofsx.oss.bucket.bucket-a.accessKeySecret" ]; ok {
286+ t .Fatalf ("expected inline bucket-a accessKeySecret to stay out of fileStoreProperties" )
287+ }
288+ if len (value .SecretProjections ) != 0 {
289+ t .Fatalf ("expected no secret projections for inline credentials, got %d" , len (value .SecretProjections ))
290+ }
291+ }
0 commit comments