@@ -750,55 +750,84 @@ def test_similar_prefix_names_allowed(self):
750750 dj .config .stores .update (original_stores )
751751
752752
753- class TestDbnameConfiguration :
754- """Test database.dbname configuration."""
753+ class TestDatabaseNameConfiguration :
754+ """Test database.name configuration."""
755755
756- def test_dbname_default_is_none (self ):
757- """Dbname defaults to None when not configured."""
756+ def test_database_name_default_is_none (self ):
757+ """Database name defaults to None when not configured."""
758758 from datajoint .settings import DatabaseSettings
759759
760760 s = DatabaseSettings ()
761- assert s .dbname is None
761+ assert s .name is None
762762
763- def test_dbname_env_var (self , monkeypatch ):
764- """DJ_DBNAME environment variable sets dbname ."""
763+ def test_database_name_env_var (self , monkeypatch ):
764+ """DJ_DATABASE_NAME environment variable sets database name ."""
765765 from datajoint .settings import DatabaseSettings
766766
767- monkeypatch .setenv ("DJ_DBNAME " , "my_database" )
767+ monkeypatch .setenv ("DJ_DATABASE_NAME " , "my_database" )
768768 s = DatabaseSettings ()
769- assert s .dbname == "my_database"
769+ assert s .name == "my_database"
770770
771- def test_dbname_from_config_file (self , tmp_path , monkeypatch ):
772- """Load dbname from config file."""
771+ def test_database_name_from_config_file (self , tmp_path , monkeypatch ):
772+ """Load database name from config file."""
773773 import json
774774
775775 from datajoint .settings import Config
776776
777777 config_file = tmp_path / "test_config.json"
778- config_file .write_text (json .dumps ({"database" : {"dbname " : "custom_db" , "host" : "localhost" }}))
778+ config_file .write_text (json .dumps ({"database" : {"name " : "custom_db" , "host" : "localhost" }}))
779779
780- monkeypatch .delenv ("DJ_DBNAME " , raising = False )
780+ monkeypatch .delenv ("DJ_DATABASE_NAME " , raising = False )
781781 monkeypatch .delenv ("DJ_HOST" , raising = False )
782782
783783 cfg = Config ()
784784 cfg .load (config_file )
785- assert cfg .database .dbname == "custom_db"
785+ assert cfg .database .name == "custom_db"
786786
787- def test_dbname_dict_access (self ):
788- """Dict-style access reads and writes dbname ."""
789- original = dj .config .database .dbname
787+ def test_database_name_dict_access (self ):
788+ """Dict-style access reads and writes database name ."""
789+ original = dj .config .database .name
790790 try :
791- dj .config .database .dbname = "test_db"
792- assert dj .config ["database.dbname " ] == "test_db"
791+ dj .config .database .name = "test_db"
792+ assert dj .config ["database.name " ] == "test_db"
793793 finally :
794- dj .config .database .dbname = original
795-
796- def test_dbname_override_context_manager (self ):
797- """Override context manager temporarily sets dbname."""
798- original = dj .config .database .dbname
799- with dj .config .override (database__dbname = "override_db" ):
800- assert dj .config .database .dbname == "override_db"
801- assert dj .config .database .dbname == original
794+ dj .config .database .name = original
795+
796+ def test_database_name_override_context_manager (self ):
797+ """Override context manager temporarily sets database name."""
798+ original = dj .config .database .name
799+ with dj .config .override (database__name = "override_db" ):
800+ assert dj .config .database .name == "override_db"
801+ assert dj .config .database .name == original
802+
803+ def test_database_prefix_deprecation_warning (self , monkeypatch ):
804+ """Non-empty database_prefix emits DeprecationWarning."""
805+ import warnings
806+
807+ from datajoint .settings import DatabaseSettings
808+
809+ monkeypatch .setenv ("DJ_DATABASE_PREFIX" , "test_" )
810+ with warnings .catch_warnings (record = True ) as w :
811+ warnings .simplefilter ("always" )
812+ DatabaseSettings ()
813+ deprecation_warnings = [
814+ x for x in w if issubclass (x .category , DeprecationWarning ) and "database_prefix" in str (x .message )
815+ ]
816+ assert len (deprecation_warnings ) >= 1
817+
818+ def test_database_prefix_empty_no_warning (self ):
819+ """Empty database_prefix does not emit DeprecationWarning."""
820+ import warnings
821+
822+ from datajoint .settings import DatabaseSettings
823+
824+ with warnings .catch_warnings (record = True ) as w :
825+ warnings .simplefilter ("always" )
826+ DatabaseSettings ()
827+ deprecation_warnings = [
828+ x for x in w if issubclass (x .category , DeprecationWarning ) and "database_prefix" in str (x .message )
829+ ]
830+ assert len (deprecation_warnings ) == 0
802831
803832
804833class TestBackendConfiguration :
0 commit comments