@Test
@RunAsClient
public void downloadPackageWithHttpClientImpl(@ArquillianResource URL baseURL)
throws IOException, ClassNotFoundException {
URL url = new URL(baseURL, "org.drools.guvnor.Guvnor/package/downloadPackageWithHttpClientImpl/snapshotC1");
Resource resource = ResourceFactory.newUrlResource(url);
KnowledgeAgentConfiguration conf = KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("admin", "admin".toCharArray());
}
});
InputStream in = null;
Collection<KnowledgePackage> kpkgs = null;
try {
in = resource.getInputStream();
Object object = DroolsStreamUtils.streamIn(in);
if ( object instanceof Collection ) {
kpkgs = (Collection<KnowledgePackage>) object;
} else if ( object instanceof KnowledgePackageImp ) {
kpkgs = Collections.singletonList((KnowledgePackage) object);
} else if( object instanceof Package ) {
kpkgs = Collections.singletonList( (KnowledgePackage) new KnowledgePackageImp( (Package) object ) );
} else if( object instanceof Package[] ) {
kpkgs = new ArrayList<KnowledgePackage>();
for( Package pkg : (Package[]) object ) {
kpkgs.add( new KnowledgePackageImp( pkg ) );
}
} else {
throw new RuntimeException("Unknown binary format trying to load resource "+resource.toString());
}
} finally {
IOUtils.closeQuietly(in);
}