/*
* © Copyright IBM Corp. 2013
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at,
*
* http,//www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.ibm.sbt.test.js.base;
import org.junit.Assert;
import org.junit.Test;
import com.ibm.commons.util.io.json.JsonJavaObject;
import com.ibm.sbt.automation.core.test.BaseApiTest;
import com.ibm.sbt.automation.core.test.FlexibleTest;
import com.ibm.sbt.automation.core.test.pageobjects.JavaScriptPreviewPage;
/**
* @author mwallace
*
* @since 25 Mar 2013
*/
public class VCardDataHandler extends BaseApiTest {
static final String SNIPPET_ID = "Toolkit_Base_VCardDataHandler";
public VCardDataHandler() {
setAuthType(BaseApiTest.AuthType.NONE);
}
@Test
public void testVCardDataHandler() {
addSnippetParam("sample.comunityId", "foo");
JavaScriptPreviewPage previewPage = executeSnippet(SNIPPET_ID);
JsonJavaObject json = previewPage.getJson();
Assert.assertEquals("tag:profiles.ibm.com,2006:entrye0b62b52-6a67-4489-b03b-4eb1f62c73e7\n\t\t\n\t\tFrank Adams\n\t\t2013-04-05T17:15:36.427Z\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\tFrank Adams\n\t\t\t0EE5A7FA-3434-9A59-4825-7A7000278DAA\n\t\t\tFrankAdams@renovations.com\n\t\t\tactive\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tProfile information for Frank Adams\n\t\t\n\t\t\tBEGIN:VCARD\n\t\t\tVERSION:2.1\n\t\t\tPHOTO;VALUE=URL:https://qs.renovations.com:444/profiles/photo.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7&lastMod=1365182136427\n\t\t\tN:Adams;Frank\n\t\t\tFN:Frank Adams\n\t\t\tHONORIFIC_PREFIX:\n\t\t\tNICKNAME:\n\t\t\tX_PREFERRED_LAST_NAME:\n\t\t\tX_NATIVE_FIRST_NAME:\n\t\t\tX_NATIVE_LAST_NAME:\n\t\t\tX_ALTERNATE_LAST_NAME:\n\t\t\tURL:https://qs.renovations.com:444/profiles/atom/profile.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7\n\t\t\tSOUND;VALUE=URL:https://qs.renovations.com:444/profiles/audio.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7&lastMod=1365182136427\n\t\t\tEMAIL;INTERNET:FrankAdams@renovations.com\n\t\t\tEMAIL;X_GROUPWARE_MAIL:fadams@gmail.com\n\t\t\tX_BLOG_URL;VALUE=URL:\n\t\t\tTZ:Etc/GMT+12\n\t\t\tX_PREFERRED_LANGUAGE:\n\t\t\tORG:\n\t\t\tX_ORGANIZATION_CODE:\n\t\t\tROLE:\n\t\t\tX_EMPTYPE:\n\t\t\tTITLE:Chief Operating Officer\n\t\t\tX_BUILDING:Building1\n\t\t\tX_FLOOR:Floor1\n\t\t\tX_OFFICE_NUMBER:Office1\n\t\t\tTEL;WORK:55555555\n\t\t\tTEL;CELL: +353 86 81551111\n\t\t\tTEL;FAX:\n\t\t\tTEL;X_IP:\n\t\t\tTEL;PAGER:\n\t\t\tX_PAGER_ID:\n\t\t\tX_PAGER_TYPE:\n\t\t\tX_PAGER_PROVIDER:\n\t\t\tCATEGORIES:acme-airlines-it-staff,it,it-staff,itstaff,my-hero\n\t\t\tX_EXPERIENCE:\n\t\t\tX_DESCRIPTION:User Experience Character - Directory2\n\t\t\tX_MANAGER_UID:lsuarez\n\t\t\tX_IS_MANAGER:N\n\t\t\tX_PROFILE_KEY:e0b62b52-6a67-4489-b03b-4eb1f62c73e7\n\t\t\tUID:0EE5A7FA-3434-9A59-4825-7A7000278DAA\n\t\t\tX_PROFILE_UID:FAdams\n\t\t\tX_LCONN_USERID:0EE5A7FA-3434-9A59-4825-7A7000278DAA\n\t\t\tX_EMPLOYEE_NUMBER:\n\t\t\tX_DEPARTMENT_NUMBER:\n\t\t\tX_DEPARTMENT_TITLE:\n\t\t\tX_SHIFT:\n\t\t\tREV:2013-04-05T17:15:36.427Z\n\t\t\tX_PROFILE_TYPE:default\n\t\t\tEND:VCARD", json.getString("/a:feed/a:entry"));
Assert.assertEquals("0EE5A7FA-3434-9A59-4825-7A7000278DAA", json.getString("a:contributor/snx:userid"));
Assert.assertEquals("BEGIN:VCARD\n\t\t\tVERSION:2.1\n\t\t\tPHOTO;VALUE=URL:https://qs.renovations.com:444/profiles/photo.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7&lastMod=1365182136427\n\t\t\tN:Adams;Frank\n\t\t\tFN:Frank Adams\n\t\t\tHONORIFIC_PREFIX:\n\t\t\tNICKNAME:\n\t\t\tX_PREFERRED_LAST_NAME:\n\t\t\tX_NATIVE_FIRST_NAME:\n\t\t\tX_NATIVE_LAST_NAME:\n\t\t\tX_ALTERNATE_LAST_NAME:\n\t\t\tURL:https://qs.renovations.com:444/profiles/atom/profile.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7\n\t\t\tSOUND;VALUE=URL:https://qs.renovations.com:444/profiles/audio.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7&lastMod=1365182136427\n\t\t\tEMAIL;INTERNET:FrankAdams@renovations.com\n\t\t\tEMAIL;X_GROUPWARE_MAIL:fadams@gmail.com\n\t\t\tX_BLOG_URL;VALUE=URL:\n\t\t\tTZ:Etc/GMT+12\n\t\t\tX_PREFERRED_LANGUAGE:\n\t\t\tORG:\n\t\t\tX_ORGANIZATION_CODE:\n\t\t\tROLE:\n\t\t\tX_EMPTYPE:\n\t\t\tTITLE:Chief Operating Officer\n\t\t\tX_BUILDING:Building1\n\t\t\tX_FLOOR:Floor1\n\t\t\tX_OFFICE_NUMBER:Office1\n\t\t\tTEL;WORK:55555555\n\t\t\tTEL;CELL: +353 86 81551111\n\t\t\tTEL;FAX:\n\t\t\tTEL;X_IP:\n\t\t\tTEL;PAGER:\n\t\t\tX_PAGER_ID:\n\t\t\tX_PAGER_TYPE:\n\t\t\tX_PAGER_PROVIDER:\n\t\t\tCATEGORIES:acme-airlines-it-staff,it,it-staff,itstaff,my-hero\n\t\t\tX_EXPERIENCE:\n\t\t\tX_DESCRIPTION:User Experience Character - Directory2\n\t\t\tX_MANAGER_UID:lsuarez\n\t\t\tX_IS_MANAGER:N\n\t\t\tX_PROFILE_KEY:e0b62b52-6a67-4489-b03b-4eb1f62c73e7\n\t\t\tUID:0EE5A7FA-3434-9A59-4825-7A7000278DAA\n\t\t\tX_PROFILE_UID:FAdams\n\t\t\tX_LCONN_USERID:0EE5A7FA-3434-9A59-4825-7A7000278DAA\n\t\t\tX_EMPLOYEE_NUMBER:\n\t\t\tX_DEPARTMENT_NUMBER:\n\t\t\tX_DEPARTMENT_TITLE:\n\t\t\tX_SHIFT:\n\t\t\tREV:2013-04-05T17:15:36.427Z\n\t\t\tX_PROFILE_TYPE:default\n\t\t\tEND:VCARD", json.getString("a:content"));
Assert.assertEquals("tag:profiles.ibm.com,2006:entrye0b62b52-6a67-4489-b03b-4eb1f62c73e7", json.getString("a:id"));
Assert.assertEquals("Frank Adams", json.getString("a:contributor/a:name"));
Assert.assertEquals("FrankAdams@renovations.com", json.getString("a:contributor/a:email"));
Assert.assertEquals("Frank Adams", json.getString("a:title"));
Assert.assertEquals("2013-04-05T17:15:36.427Z", json.getString("a:updated"));
Assert.assertEquals("https://qs.renovations.com:444/profiles/photo.do?key=e0b62b52-6a67-4489-b03b-4eb1f62c73e7&lastMod=1365182136427", json.getString("a:link[@rel='http://www.ibm.com/xmlns/prod/sn/image']/@href"));
Assert.assertEquals("Chief Operating Officer", json.getString("TITLE"));
Assert.assertEquals("55555555", json.getString("TEL;WORK"));
Assert.assertEquals("Building1", json.getString("X_BUILDING"));
Assert.assertEquals("Floor1", json.getString("X_FLOOR"));
Assert.assertEquals("Office1", json.getString("X_OFFICE_NUMBER"));
Assert.assertEquals("Profile information for Frank Adams", json.getString("a:summary[@type='text']"));
Assert.assertEquals("fadams@gmail.com", json.getString("EMAIL;X_GROUPWARE_MAIL"));
}
}