package com.kaltura.client.tests;
import java.io.File;
import java.net.URL;
import com.kaltura.client.KalturaApiException;
import com.kaltura.client.KalturaClient;
import com.kaltura.client.KalturaMultiResponse;
import com.kaltura.client.enums.KalturaMediaType;
import com.kaltura.client.types.KalturaMediaEntry;
import com.kaltura.client.types.KalturaMediaListResponse;
import com.kaltura.client.types.KalturaPartner;
public class KalturaUtf8Test extends KalturaTestBase {
public static String CHINESE = "AZ test - 吞下玻璃";
public static String I18N = "Iñtërnâtiônàlizætiøn";
public static String KEID = "1_vyxqbgo5"; //"1_4ydjapab";
public void testUTF8() {
System.out.println("-- UTF8 test start");
startAdminSession();
KalturaMediaEntry kme = null;
/*
list();
multiResponse();
add();
*/
kme = exists(KEID);
kme = update(KEID, "AZ i18n", "");
assertEquals("AZ i18n", kme.name);
assertEquals("", kme.description);
kme = exists(KEID);
assertNotSame(CHINESE, kme.name);
assertNotSame(I18N, kme.description);
kme = update(KEID, CHINESE, I18N);
assertEquals(CHINESE, kme.name);
assertEquals(I18N, kme.description);
System.out.println("-- UTF8 test complete");
}
public KalturaMediaEntry exists(String entryId)
{
assertNotNull(entryId);
KalturaMediaEntry kme = null;
try {
KalturaClient client = this.client; //getKalturaClient(KalturaTestConfig.PARTNER_ID, KalturaTestConfig.ADMIN_SECRET, true);
kme = client.getMediaService().get(entryId);
assertNotNull(kme);
System.out.println("Entry ("+kme.id+") exists with name ("+kme.name+")");
} catch (KalturaApiException e) {
e.printStackTrace();
fail("Exception: "+e);
}
return kme;
}
public KalturaMediaEntry update(String entryId, String name, String desc)
{
assertNotNull(entryId);
assertNotNull(name);
assertNotNull(desc);
KalturaMediaEntry kme = null;
try {
KalturaClient client = this.client; //getKalturaClient(KalturaTestConfig.PARTNER_ID, KalturaTestConfig.ADMIN_SECRET, true);
KalturaMediaEntry kmeUp = new KalturaMediaEntry();
kmeUp.name = name;
kmeUp.description = desc;
System.out.println("Updating entry ("+entryId+") to name ("+ kmeUp.name +")");
kme = client.getMediaService().update(entryId, kmeUp);
assertNotNull(kme);
System.out.println("Updated entry ("+kme.id+") to name ("+ kme.name +")");
} catch (KalturaApiException e) {
e.printStackTrace();
fail("Exception: "+e);
}
return kme;
}
public void list()
{
try {
KalturaClient client = this.client; //getKalturaClient(KalturaTestConfig.PARTNER_ID, KalturaTestConfig.ADMIN_SECRET, true);
//Should not call Base directly - this is an Abstract!
//KalturaBaseEntryListResponse list = client.getBaseEntryService().list();
KalturaMediaListResponse list = client.getMediaService().list();
int counter = 0;
for (KalturaMediaEntry entry : list.objects) {
counter++;
System.out.println(counter + ": list entry ("+entry.id+"): (" + entry.name + ")");
}
} catch (KalturaApiException e) {
e.printStackTrace();
fail("Exception: "+e);
}
}
public void multiResponse()
{
try {
KalturaClient client = this.client; //getKalturaClient(KalturaTestConfig.PARTNER_ID, KalturaTestConfig.ADMIN_SECRET, true);
client.setMultiRequest(true);
client.getBaseEntryService().count();
client.getPartnerService().getInfo();
client.getPartnerService().getUsage(2010);
KalturaMultiResponse multi = client.doMultiRequest();
KalturaPartner partner = (KalturaPartner)multi.get(1);
System.out.print("\nGot Admin User email: " + partner.adminEmail);
} catch (KalturaApiException e) {
e.printStackTrace();
fail("Exception: "+e);
}
}
public void add()
{
try {
System.out.print("\nUploading test video...");
KalturaClient client = this.client; //getKalturaClient(KalturaTestConfig.PARTNER_ID, KalturaTestConfig.SECRET, false);
//File up = new File(KalturaTestConfig.UPLOAD_FILE);
URL uploadFileURL = KalturaTestBase.class.getClassLoader().getResource(DEFAULT_UPLOAD_FILE);
File file = new File(uploadFileURL.toURI());
String token = client.getBaseEntryService().upload(file);
KalturaMediaEntry entry = new KalturaMediaEntry();
entry.name = "my upload entry";
entry.mediaType = KalturaMediaType.VIDEO;
KalturaMediaEntry newEntry = client.getMediaService().addFromUploadedFile(entry, token);
System.out.print("\nUploaded a new Video entry " + newEntry.id);
client.getMediaService().delete(newEntry.id);
try {
entry = null;
entry = client.getMediaService().get(newEntry.id);
} catch (KalturaApiException exApi) {
if (entry == null) {
System.out.print("\nDeleted the entry ("+newEntry.id+") successfully!");
}
}
} catch (KalturaApiException e) {
System.out.println("Kaltura API failure: " + e);
e.printStackTrace();
fail("Upload Kaltura failure: " + e);
} catch (Exception e) {
System.out.println("Trouble uploading: " + e);
e.printStackTrace();
fail("Upload failure: " + e);
}
}
}