github.com/avfs/avfs@v0.33.1-0.20240303173310-c6ba67c33eb7/idm/osidm/osidm_test.go (about) 1 // 2 // Copyright 2020 The AVFS authors 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 //go:build !avfs_race 18 19 package osidm_test 20 21 import ( 22 "testing" 23 24 "github.com/avfs/avfs" 25 "github.com/avfs/avfs/idm/osidm" 26 "github.com/avfs/avfs/test" 27 ) 28 29 var ( 30 // OsIdm implements avfs.IdentityMgr interface. 31 _ avfs.IdentityMgr = &osidm.OsIdm{} 32 33 // OsUser implements avfs.UserReader interface. 34 _ avfs.UserReader = &osidm.OsUser{} 35 36 // OsGroup implements avfs.GroupReader interface. 37 _ avfs.GroupReader = &osidm.OsGroup{} 38 ) 39 40 func TestOsIdmAll(t *testing.T) { 41 idm := osidm.New() 42 43 ts := test.NewSuiteIdm(t, idm) 44 ts.TestIdmAll(t) 45 } 46 47 func TestOsIdmCfg(t *testing.T) { 48 idm := osidm.New() 49 50 switch avfs.CurrentOSType() { 51 case avfs.OsWindows: 52 if idm.Features() != 0 { 53 t.Errorf("want feature to be %v, got %v", 0, idm.Features()) 54 } 55 default: 56 if idm.Features()&avfs.FeatIdentityMgr == 0 { 57 t.Errorf("want feature to be %v, got %v", avfs.FeatIdentityMgr, idm.Features()) 58 } 59 } 60 }