11package org .jfrog .artifactory .client ;
22
33import org .jfrog .artifactory .client .model .Repository ;
4+ import org .jfrog .artifactory .client .model .RepositoryType ;
45import org .jfrog .artifactory .client .model .builder .RepositoryBuilders ;
56import org .jfrog .artifactory .client .model .impl .PackageTypeImpl ;
67import org .jfrog .artifactory .client .model .repository .settings .HuggingFaceRepositorySettings ;
8+ import org .jfrog .artifactory .client .model .repository .settings .RepositorySettings ;
79import org .jfrog .artifactory .client .model .repository .settings .impl .HuggingFaceRepositorySettingsImpl ;
810import org .testng .annotations .AfterMethod ;
911import org .testng .SkipException ;
@@ -27,9 +29,13 @@ private void cleanup() {
2729 deleteRepoIfExists (virtualRepo );
2830 }
2931
32+ @ Override
33+ public RepositorySettings getRepositorySettings (RepositoryType repositoryType ) {
34+ return new HuggingFaceRepositorySettingsImpl ();
35+ }
36+
3037 @ Test
3138 public void testHuggingFaceLocalRepo () {
32- System .err .println ("=== [DIAG] Starting testHuggingFaceLocalRepo ===" );
3339 printEnvironmentDiagnostics ();
3440
3541 HuggingFaceRepositorySettings settings = new HuggingFaceRepositorySettingsImpl ();
@@ -43,17 +49,7 @@ public void testHuggingFaceLocalRepo() {
4349
4450 // Use position 0 for create, as required by the interface
4551 String localCreateResult = artifactory .repositories ().create (0 , localRepository );
46- System .err .println ("[DIAG] create(local) result: " + localCreateResult );
47- printRepositoryJson (localRepo );
48-
4952 Repository localRepoFromServer = artifactory .repository (localRepo ).get ();
50- System .err .println ("[DIAG] Retrieved repo package type: " + localRepoFromServer .getRepositorySettings ().getPackageType ());
51-
52- // Check if server doesn't support HuggingFace and skip if so
53- if (localRepoFromServer .getRepositorySettings ().getPackageType ().toString ().equals ("generic" )) {
54- System .err .println ("[DIAG] Server returned generic package type - skipping test" );
55- throw new SkipException ("Server returned packageType=generic for Hugging Face; likely unsupported on this instance." );
56- }
5753
5854 assertNotNull (localRepoFromServer );
5955 assertEquals (localRepoFromServer .getKey (), localRepo );
@@ -75,9 +71,6 @@ public void testHuggingFaceFederatedRepo() {
7571 .build ();
7672
7773 String federatedCreateResult = artifactory .repositories ().create (0 , federatedRepository );
78- System .out .println ("[DIAG] create(federated) result: " + federatedCreateResult );
79- printEnvironmentDiagnostics ();
80- printRepositoryJson (federatedRepo );
8174 Repository federatedRepoFromServer = artifactory .repository (federatedRepo ).get ();
8275 assertNotNull (federatedRepoFromServer );
8376 assertEquals (federatedRepoFromServer .getKey (), federatedRepo );
@@ -87,9 +80,6 @@ public void testHuggingFaceFederatedRepo() {
8780
8881 @ Test
8982 public void testHuggingFaceVirtualRepo () {
90- System .err .println ("=== [DIAG] Starting testHuggingFaceVirtualRepo ===" );
91- printEnvironmentDiagnostics ();
92-
9383 HuggingFaceRepositorySettings settings = new HuggingFaceRepositorySettingsImpl ();
9484 RepositoryBuilders repositoryBuilders = artifactory .repositories ().builders ();
9585 // Ensure we have at least one backing repo to include in the virtual
@@ -107,55 +97,11 @@ public void testHuggingFaceVirtualRepo() {
10797 .repositorySettings (settings )
10898 .repositories (java .util .Collections .singletonList (localRepo ))
10999 .build ();
110-
111- try {
112- String virtualCreateResult = artifactory .repositories ().create (0 , virtualRepository );
113- System .err .println ("[DIAG] create(virtual) result: " + virtualCreateResult );
114- printRepositoryJson (virtualRepo );
115100
116101 Repository virtualRepoFromServer = artifactory .repository (virtualRepo ).get ();
117102 assertNotNull (virtualRepoFromServer );
118103 assertEquals (virtualRepoFromServer .getKey (), virtualRepo );
119104 assertEquals (virtualRepoFromServer .getDescription (), "new virtual huggingface repo" );
120105 assertEquals (virtualRepoFromServer .getNotes (), "some notes" );
121- } catch (org .apache .http .client .HttpResponseException e ) {
122- System .err .println ("[DIAG] Virtual repo creation failed with status: " + e .getStatusCode ());
123- System .err .println ("[DIAG] Error message: " + e .getMessage ());
124- String msg = e .getMessage ();
125- if (e .getStatusCode () == 400 && msg != null && msg .contains ("unsupported in virtual repositories" )) {
126- System .err .println ("[DIAG] Skipping test - HuggingFaceML unsupported in virtual repos" );
127- throw new SkipException ("HuggingFaceML is unsupported in virtual repositories on this Artifactory version/plan." );
128- }
129- throw new RuntimeException (e );
130- }
131- }
132-
133- private void printEnvironmentDiagnostics () {
134- try {
135- String versionJson = curl ("api/system/version" );
136- System .err .println ("[DIAG] Artifactory version: " + versionJson );
137- } catch (Exception e ) {
138- System .err .println ("[DIAG] Failed to fetch version: " + e .getMessage ());
139- }
140- try {
141- String licensesJson = curl ("api/system/licenses" );
142- System .err .println ("[DIAG] Artifactory licenses: " + licensesJson );
143- } catch (Exception e1 ) {
144- try {
145- String licenseJson = curl ("api/system/license" );
146- System .err .println ("[DIAG] Artifactory license: " + licenseJson );
147- } catch (Exception e2 ) {
148- System .err .println ("[DIAG] Failed to fetch license info: " + e2 .getMessage ());
149- }
150- }
151- }
152-
153- private void printRepositoryJson (String repoKey ) {
154- try {
155- String repoJson = curl ("api/repositories/" + repoKey );
156- System .err .println ("[DIAG] Repository JSON (" + repoKey + "): " + repoJson );
157- } catch (Exception e ) {
158- System .err .println ("[DIAG] Failed to fetch repo JSON for '" + repoKey + "': " + e .getMessage ());
159- }
160106 }
161107}
0 commit comments