code: def test_sqlalchemy_sqllite_nodes_star_shema_joins(tmpdir):
      session, root = get_sqlite_session_with_root(tmpdir)
  
      def_proj = ProjectNode(ProjectDataclass(project_name="def_proj"))
      project = ScopedLocationTreeNode(def_proj, parent=root)
      session.add(project)
      session.commit()
  
      def_client = ClientNode(ClientDataclass(client_name="def_client"))
      client = ScopedLocationTreeNode(def_client, parent=project)
      session.add(client)
      session.commit()
  
      session.expunge_all()
      q = session.query(
          ScopedLocationTreeNode.project_name,
          ScopedLocationTreeNode.client_name,
      )
      assert q[0] == (None, None)
      assert q[1] == ("def_proj", None)
      assert q[2] == ("def_proj", "def_client")
  
file_path: Neuraxle/testing_neuraxle/metaopt/test_database_repo.py
imports: import os
  import pytest
  from neuraxle.metaopt.data.vanilla import DEFAULT_CLIENT, DEFAULT_PROJECT, ClientDataclass, ProjectDataclass, RootDataclass, ScopedLocation
  from neuraxle.metaopt.repositories.db import Base, ClientNode, DataClassNode, ProjectNode, ScopedLocationTreeNode, SQLLiteHyperparamsRepository
  from sqlalchemy import and_, create_engine
  from sqlalchemy.orm import sessionmaker
  from testing_neuraxle.metaopt.test_automl_dataclasses import SOME_PROJECT_DATACLASS
label_desc: Use image node_id 2 for calling a global function with example usage: test_sqlalchemy_sqllite_nodes_star_shema_joins(tmpdir) without return types