1- import os
1+ from pathlib import Path
22
33import pytest
44
@@ -25,7 +25,6 @@ def setup_method(self):
2525 self .profile4 = tiledb .Profile (
2626 "test_profile" , self .path ("profile4_dir" )
2727 ) # named profile with custom home directory
28- self .vfs .create_dir (self .path ("profile4_dir" ))
2928
3029
3130class ProfileTest (ProfileTestCase ):
@@ -36,31 +35,54 @@ def test_profile_name(self):
3635 assert self .profile4 .name == "test_profile"
3736
3837 def test_profile_homedir (self ):
39- assert self .profile3 .homedir == self .path ("profile3_dir" )
40- assert self .profile4 .homedir == self .path ("profile4_dir" )
38+ assert Path (self .profile1 .homedir ) == Path .home ()
39+ assert Path (self .profile2 .homedir ) == Path .home ()
40+ assert Path (self .profile3 .homedir ) == Path (self .path ("profile3_dir" ))
41+ assert Path (self .profile4 .homedir ) == Path (self .path ("profile4_dir" ))
4142
4243 def test_profile_set_get_param (self ):
43- self .profile1 . set_param ( "rest.username" , "my_username" )
44- assert self .profile1 . get_param ( "rest.username" ) == "my_username"
44+ self .profile1 [ "rest.username" ] = "my_username"
45+ assert self .profile1 [ "rest.username" ] == "my_username"
4546
46- self .profile3 . set_param ( "rest.server_address" , "https://myaddress.com" )
47- assert self .profile3 . get_param ( "rest.server_address" ) == "https://myaddress.com"
47+ self .profile3 [ "rest.server_address" ] = "https://myaddress.com"
48+ assert self .profile3 [ "rest.server_address" ] == "https://myaddress.com"
4849
4950 def test_profile_repr (self ):
50- assert 'rest.password": ""' in repr (self .profile1 )
51- # set a parameter and check the repr again
52- self .profile1 .set_param ("rest.password" , "test" )
53- assert 'rest.password": "test"' in repr (self .profile1 )
54-
55- def test_profile_save (self ):
56- assert os .path .exists (self .profile4 .homedir )
57-
58- tiledb_dir = os .path .join (self .profile4 .homedir , ".tiledb" )
59- assert not os .path .exists (tiledb_dir )
60-
51+ self .profile1 ["rest.password" ] = "testing_the_password"
52+ self .profile1 ["rest.payer_namespace" ] = "testing_the_namespace"
53+ self .profile1 ["rest.server_address" ] = "https://testing_the_address.com"
54+ self .profile1 ["rest.token" ] = "testing_the_token"
55+ self .profile1 ["rest.username" ] = "testing_the_username"
56+
57+ import json
58+
59+ goal_dict = {
60+ "default" : {
61+ "rest.password" : "testing_the_password" ,
62+ "rest.payer_namespace" : "testing_the_namespace" ,
63+ "rest.server_address" : "https://testing_the_address.com" ,
64+ "rest.token" : "testing_the_token" ,
65+ "rest.username" : "testing_the_username" ,
66+ }
67+ }
68+
69+ assert goal_dict == json .loads (repr (self .profile1 ))
70+
71+ def test_profile_set_save_load_get (self ):
72+ self .profile4 ["rest.token" ] = "testing_the_token_for_profile4"
73+ self .profile4 ["rest.payer_namespace" ] = "testing_the_namespace_for_profile4"
74+
75+ # save the profile
6176 self .profile4 .save ()
6277
63- # this fails ... for some reason
64- assert os .path .exists (tiledb_dir )
65-
66- # TODO: also test remove
78+ # load
79+ new_profile = tiledb .Profile .load ("test_profile" , self .path ("profile4_dir" ))
80+ assert new_profile .name == "test_profile"
81+ assert new_profile .homedir == self .path ("profile4_dir" )
82+ assert new_profile ["rest.username" ] == ""
83+ assert new_profile ["rest.password" ] == ""
84+ assert new_profile ["rest.server_address" ] == "https://api.tiledb.com"
85+ assert new_profile ["rest.token" ] == "testing_the_token_for_profile4"
86+ assert (
87+ new_profile ["rest.payer_namespace" ] == "testing_the_namespace_for_profile4"
88+ )
0 commit comments