dataContext = new SugarCrmDataContext(BASE_URL, getUsername(), getPassword(), "Test");
Schema schema = dataContext.getDefaultSchema();
assertEquals("SugarCRM", schema.getName());
Table table = schema.getTableByName("Accounts");
String[] columnNames = table.getColumnNames();
assertEquals(
"[id, name, date_entered, date_modified, modified_user_id, modified_by_name, created_by, created_by_name, "
+ "description, deleted, assigned_user_id, assigned_user_name, account_type, industry, annual_revenue, phone_fax, "
+ "billing_address_street, billing_address_street_2, billing_address_street_3, billing_address_street_4, "
+ "billing_address_city, billing_address_state, billing_address_postalcode, billing_address_country, rating, "
+ "phone_office, phone_alternate, website, ownership, employees, ticker_symbol, shipping_address_street, "
+ "shipping_address_street_2, shipping_address_street_3, shipping_address_street_4, shipping_address_city, "
+ "shipping_address_state, shipping_address_postalcode, shipping_address_country, email1, parent_id, sic_code, parent_name, "
+ "email_opt_out, invalid_email, email, campaign_id, campaign_name]",
Arrays.toString(columnNames));
Column nameColumn = table.getColumnByName("name");
String nativeType = nameColumn.getNativeType();
String remarks = nameColumn.getRemarks();
ColumnType type = nameColumn.getType();
assertEquals("name|Name:|VARCHAR", nativeType + "|" + remarks + "|" + type);
Column[] columns = table.getColumns();
for (Column column : columns) {
type = column.getType();
if (type == null || type == ColumnType.OTHER) {
fail("No type mapping for native type: " + column.getNativeType() + " (found in column: " + column
+ ")");
}
}
table = schema.getTableByName("Contacts");
columnNames = table.getColumnNames();
assertEquals(
"[id, name, date_entered, date_modified, modified_user_id, modified_by_name, created_by, created_by_name, description, deleted, "
+ "assigned_user_id, assigned_user_name, salutation, first_name, last_name, full_name, title, department, do_not_call, phone_home, "
+ "email, phone_mobile, phone_work, phone_other, phone_fax, email1, email2, invalid_email, email_opt_out, primary_address_street, "
+ "primary_address_street_2, primary_address_street_3, primary_address_city, primary_address_state, primary_address_postalcode, "
+ "primary_address_country, alt_address_street, alt_address_street_2, alt_address_street_3, alt_address_city, alt_address_state, "
+ "alt_address_postalcode, alt_address_country, assistant, assistant_phone, email_and_name1, lead_source, account_name, account_id, "
+ "opportunity_role_fields, opportunity_role_id, opportunity_role, reports_to_id, report_to_name, birthdate, campaign_id, campaign_name, "
+ "c_accept_status_fields, m_accept_status_fields, accept_status_id, accept_status_name, sync_contact]",
Arrays.toString(columnNames));
columns = table.getColumns();
for (Column column : columns) {
type = column.getType();
if (type == null || type == ColumnType.OTHER) {
fail("No type mapping for native type: " + column.getNativeType() + " (found in column: " + column
+ ")");