import sys
import os
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
import core.plugin as plugin


def test_plugins():
    plugins = plugin.PluginManager()
    print("we found {} plugins".format(len(plugins.get_available_plugins())))
    print(plugins)
    
    print("Step of BaseLine is:")
    print(plugins.BaseLine.PhaseEnv.Pre)
    print(plugins.BaseLine.PhaseEnv.Process)
    print(plugins.BaseLine.PhaseEnv.Post)


def test_ReleaseStep():
    from core.defines import ReleasePhase, ProcessStep
    for release_step in ReleasePhase:
        print(release_step.value)
        for process_step in ProcessStep:
            class_name = f"    _{release_step.value}_{process_step.value}"
            print(class_name)

from database import DirAlias
def test_config():
    print("DirAlias.mi_sys: ", DirAlias.mi_sys)
    assert DirAlias.mi_sys


def test_demo_list_default():
    from database import DemoListDefault
    DemoListDefault.check()
    print(f"DemoListDefault: {len(DemoListDefault)}")
    assert not DemoListDefault


def test_config_single_item():
    from database import REPO_URL
    assert REPO_URL == "http://hcgit04:9080/manifest/alkaid"
