package customtemplates import ( "context" "os" "path/filepath" "testing" "github.com/projectdiscovery/gologger" "github.com/projectdiscovery/nuclei/v3/pkg/catalog/config" "github.com/projectdiscovery/nuclei/v3/pkg/testutils" "github.com/stretchr/testify/require" ) func TestDownloadCustomTemplatesFromGitHub(t *testing.T) { gologger.DefaultLogger.SetWriter(&testutils.NoopWriter{}) templatesDirectory, err := os.MkdirTemp("", "template-custom-*") require.Nil(t, err, "could not create temp directory") defer os.RemoveAll(templatesDirectory) config.DefaultConfig.SetTemplatesDir(templatesDirectory) options := testutils.DefaultOptions options.GitHubTemplateRepo = []string{"projectdiscovery/nuclei-templates-test"} ctm, err := NewCustomTemplatesManager(options) require.Nil(t, err, "could not create custom templates manager") ctm.Download(context.Background()) require.DirExists(t, filepath.Join(templatesDirectory, "github", "projectdiscovery", "nuclei-templates-test"), "cloned directory does not exists") }