Package com.pcbje.maltegoimporter.model.impl

Source Code of com.pcbje.maltegoimporter.model.impl.MaltegoNodeEntityDefinitionTest

package com.pcbje.maltegoimporter.model.impl;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import com.pcbje.maltegoimporter.model.PropertyModel;
import com.pcbje.maltegoimporter.model.impl.MaltegoEntityDefinition;

public class MaltegoNodeEntityDefinitionTest {
  MaltegoEntityDefinition type;

  @Before
  public void init() {
    type = new MaltegoEntityDefinition();
  }

  @Test
  public void testTypeDesktopComputer() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.DesktopComputer");

    assertEquals(1, props.size());
    assertTrue(props.get("Device").isLabelProperty());
    assertEquals("Device", props.get("Device").getDisplayName());
    assertEquals("string", props.get("Device").getType());
  }

  @Test
  public void testTypeDevice() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Device");

    assertEquals(1, props.size());
    assertTrue(props.get("Device").isLabelProperty());
    assertEquals("Device", props.get("Device").getDisplayName());
    assertEquals("string", props.get("Device").getType());
  }

  @Test
  public void testTypeMobileComputer() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MobileComputer");

    assertEquals(1, props.size());
    assertTrue(props.get("Device").isLabelProperty());
    assertEquals("Device", props.get("Device").getDisplayName());
    assertEquals("string", props.get("Device").getType());
  }

  @Test
  public void testTypeMobilePhone() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MobilePhone");

    assertEquals(1, props.size());
    assertTrue(props.get("Device").isLabelProperty());
    assertEquals("Device", props.get("Device").getDisplayName());
    assertEquals("string", props.get("Device").getType());
  }

  @Test
  public void testTypeSmartphone() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Smartphone");

    assertEquals(1, props.size());
    assertTrue(props.get("Device").isLabelProperty());
    assertEquals("Device", props.get("Device").getDisplayName());
    assertEquals("string", props.get("Device").getType());
  }

  @Test
  public void testTypeConversationEmail() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.ConversationEmail");

    assertEquals(4, props.size());
    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("Recipient Emails").isLabelProperty());
    assertEquals("Recipient Emails", props.get("Recipient Emails")
        .getDisplayName());
    assertEquals("string[]", props.get("Recipient Emails").getType());

    assertEquals(false, props.get("Sender Email").isLabelProperty());
    assertEquals("Sender Email", props.get("Sender Email").getDisplayName());
    assertEquals("string", props.get("Sender Email").getType());

    assertEquals(false, props.get("People").isLabelProperty());
    assertEquals("People", props.get("People").getDisplayName());
    assertEquals("string[]", props.get("People").getType());
  }

  @Test
  public void testTypeConversationPhone() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.ConversationPhone");

    assertEquals(6, props.size());

    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("Caller Number").isLabelProperty());
    assertEquals("Caller Number", props.get("Caller Number")
        .getDisplayName());
    assertEquals("string", props.get("Caller Number").getType());

    assertEquals(false, props.get("Callee Number").isLabelProperty());
    assertEquals("Callee Number", props.get("Callee Number")
        .getDisplayName());
    assertEquals("string", props.get("Callee Number").getType());

    assertEquals(false, props.get("People").isLabelProperty());
    assertEquals("People", props.get("People").getDisplayName());
    assertEquals("string[]", props.get("People").getType());

    assertEquals(false, props.get("Duration").isLabelProperty());
    assertEquals("Duration", props.get("Duration").getDisplayName());
    assertEquals("timespan", props.get("Duration").getType());

    assertEquals(false, props.get("Start time").isLabelProperty());
    assertEquals("Start time", props.get("Start time").getDisplayName());
    assertEquals("datetime", props.get("Start time").getType());
  }

  @Test
  public void testTypeIncident() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Incident");

    assertEquals(12, props.size());

    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("Street Address").isLabelProperty());
    assertEquals("Street Address", props.get("Street Address")
        .getDisplayName());
    assertEquals("string", props.get("Street Address").getType());

    assertEquals(false, props.get("Country Code").isLabelProperty());
    assertEquals("Country Code", props.get("Country Code").getDisplayName());
    assertEquals("string", props.get("Country Code").getType());

    assertEquals(false, props.get("Area").isLabelProperty());
    assertEquals("Area", props.get("Area").getDisplayName());
    assertEquals("string", props.get("Area").getType());

    assertEquals(false, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Area Code").isLabelProperty());
    assertEquals("Area Code", props.get("Area Code").getDisplayName());
    assertEquals("string", props.get("Area Code").getType());

    assertEquals(false, props.get("Longitude").isLabelProperty());
    assertEquals("Longitude", props.get("Longitude").getDisplayName());
    assertEquals("float", props.get("Longitude").getType());

    assertEquals(false, props.get("Latitude").isLabelProperty());
    assertEquals("Latitude", props.get("Latitude").getDisplayName());
    assertEquals("float", props.get("Latitude").getType());

    assertEquals(false, props.get("City").isLabelProperty());
    assertEquals("City", props.get("City").getDisplayName());
    assertEquals("string", props.get("City").getType());

    assertEquals(false, props.get("Country").isLabelProperty());
    assertEquals("Country", props.get("Country").getDisplayName());
    assertEquals("string", props.get("Country").getType());

    assertEquals(false, props.get("Start Time").isLabelProperty());
    assertEquals("Start Time", props.get("Start Time").getDisplayName());
    assertEquals("datetime", props.get("Start Time").getType());

    assertEquals(false, props.get("Stop Time").isLabelProperty());
    assertEquals("Stop Time", props.get("Stop Time").getDisplayName());
    assertEquals("datetime", props.get("Stop Time").getType());
  }

  @Test
  public void testTypeMeetingBusiness() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MeetingBusiness");

    assertEquals(13, props.size());

    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("People").isLabelProperty());
    assertEquals("People", props.get("People").getDisplayName());
    assertEquals("string[]", props.get("People").getType());

    assertEquals(false, props.get("Street Address").isLabelProperty());
    assertEquals("Street Address", props.get("Street Address")
        .getDisplayName());
    assertEquals("string", props.get("Street Address").getType());

    assertEquals(false, props.get("Country Code").isLabelProperty());
    assertEquals("Country Code", props.get("Country Code").getDisplayName());
    assertEquals("string", props.get("Country Code").getType());

    assertEquals(false, props.get("Area").isLabelProperty());
    assertEquals("Area", props.get("Area").getDisplayName());
    assertEquals("string", props.get("Area").getType());

    assertEquals(false, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Area Code").isLabelProperty());
    assertEquals("Area Code", props.get("Area Code").getDisplayName());
    assertEquals("string", props.get("Area Code").getType());

    assertEquals(false, props.get("Longitude").isLabelProperty());
    assertEquals("Longitude", props.get("Longitude").getDisplayName());
    assertEquals("float", props.get("Longitude").getType());

    assertEquals(false, props.get("Latitude").isLabelProperty());
    assertEquals("Latitude", props.get("Latitude").getDisplayName());
    assertEquals("float", props.get("Latitude").getType());

    assertEquals(false, props.get("City").isLabelProperty());
    assertEquals("City", props.get("City").getDisplayName());
    assertEquals("string", props.get("City").getType());

    assertEquals(false, props.get("Country").isLabelProperty());
    assertEquals("Country", props.get("Country").getDisplayName());
    assertEquals("string", props.get("Country").getType());

    assertEquals(false, props.get("Start Time").isLabelProperty());
    assertEquals("Start Time", props.get("Start Time").getDisplayName());
    assertEquals("datetime", props.get("Start Time").getType());

    assertEquals(false, props.get("Stop Time").isLabelProperty());
    assertEquals("Stop Time", props.get("Stop Time").getDisplayName());
    assertEquals("datetime", props.get("Stop Time").getType());
  }

  @Test
  public void testTypeMeetingSocial() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MeetingSocial");

    assertEquals(13, props.size());

    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("People").isLabelProperty());
    assertEquals("People", props.get("People").getDisplayName());
    assertEquals("string[]", props.get("People").getType());

    assertEquals(false, props.get("Street Address").isLabelProperty());
    assertEquals("Street Address", props.get("Street Address")
        .getDisplayName());
    assertEquals("string", props.get("Street Address").getType());

    assertEquals(false, props.get("Country Code").isLabelProperty());
    assertEquals("Country Code", props.get("Country Code").getDisplayName());
    assertEquals("string", props.get("Country Code").getType());

    assertEquals(false, props.get("Area").isLabelProperty());
    assertEquals("Area", props.get("Area").getDisplayName());
    assertEquals("string", props.get("Area").getType());

    assertEquals(false, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Area Code").isLabelProperty());
    assertEquals("Area Code", props.get("Area Code").getDisplayName());
    assertEquals("string", props.get("Area Code").getType());

    assertEquals(false, props.get("Longitude").isLabelProperty());
    assertEquals("Longitude", props.get("Longitude").getDisplayName());
    assertEquals("float", props.get("Longitude").getType());

    assertEquals(false, props.get("Latitude").isLabelProperty());
    assertEquals("Latitude", props.get("Latitude").getDisplayName());
    assertEquals("float", props.get("Latitude").getType());

    assertEquals(false, props.get("City").isLabelProperty());
    assertEquals("City", props.get("City").getDisplayName());
    assertEquals("string", props.get("City").getType());

    assertEquals(false, props.get("Country").isLabelProperty());
    assertEquals("Country", props.get("Country").getDisplayName());
    assertEquals("string", props.get("Country").getType());

    assertEquals(false, props.get("Start Time").isLabelProperty());
    assertEquals("Start Time", props.get("Start Time").getDisplayName());
    assertEquals("datetime", props.get("Start Time").getType());

    assertEquals(false, props.get("Stop Time").isLabelProperty());
    assertEquals("Stop Time", props.get("Stop Time").getDisplayName());
    assertEquals("datetime", props.get("Stop Time").getType());
  }

  @Test
  public void testTypeCompany() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Company");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypeEducationInstitution() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.EducationInstitution");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypeGang() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Gang");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypeOnlineGroup() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.OnlineGroup");

    assertEquals(2, props.size());

    assertEquals(true, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("URL").isLabelProperty());
    assertEquals("URL", props.get("URL").getDisplayName());
    assertEquals("string", props.get("URL").getType());
  }

  @Test
  public void testTypeOrganization() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Organization");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypePoliticalMovement() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.PoliticalMovement");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypeReligiousGroup() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.ReligiousGroup");

    assertEquals(1, props.size());
    assertTrue(props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());
  }

  @Test
  public void testTypeAS() {
    Map<String, PropertyModel> props = type.getProperties("maltego.AS");

    assertEquals(1, props.size());
    assertTrue(props.get("AS Number").isLabelProperty());
    assertEquals("AS Number", props.get("AS Number").getDisplayName());
    assertEquals("string", props.get("AS Number").getType());
  }

  @Test
  public void testTypeDNSName() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.DNSName");

    assertEquals(1, props.size());
    assertTrue(props.get("DNS Name").isLabelProperty());
    assertEquals("DNS Name", props.get("DNS Name").getDisplayName());
    assertEquals("string", props.get("DNS Name").getType());
  }

  @Test
  public void testTypeDomain() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Domain");

    assertEquals(2, props.size());
    assertEquals(true, props.get("DNS Name").isLabelProperty());
    assertEquals("DNS Name", props.get("DNS Name").getDisplayName());
    assertEquals("string", props.get("DNS Name").getType());

    assertEquals(false, props.get("WHOIS Info").isLabelProperty());
    assertEquals("WHOIS Info", props.get("WHOIS Info").getDisplayName());
    assertEquals("string", props.get("WHOIS Info").getType());
  }

  @Test
  public void testTypeIPv4Address() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.IPv4Address");

    assertEquals(2, props.size());
    assertEquals(true, props.get("IP Address").isLabelProperty());
    assertEquals("IP Address", props.get("IP Address").getDisplayName());
    assertEquals("string", props.get("IP Address").getType());

    assertEquals(false, props.get("Internal").isLabelProperty());
    assertEquals("Internal", props.get("Internal").getDisplayName());
    assertEquals("boolean", props.get("Internal").getType());
  }

  @Test
  public void testTypeMXRecord() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MXRecord");

    assertEquals(2, props.size());
    assertEquals(true, props.get("MX Record").isLabelProperty());
    assertEquals("MX Record", props.get("MX Record").getDisplayName());
    assertEquals("string", props.get("MX Record").getType());

    assertEquals(false, props.get("Priority").isLabelProperty());
    assertEquals("Priority", props.get("Priority").getDisplayName());
    assertEquals("int", props.get("Priority").getType());
  }

  @Test
  public void testTypeNSRecord() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.NSRecord");

    assertEquals(1, props.size());
    assertEquals(true, props.get("NS Record").isLabelProperty());
    assertEquals("NS Record", props.get("NS Record").getDisplayName());
    assertEquals("string", props.get("NS Record").getType());
  }

  @Test
  public void testTypeNetblock() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Netblock");

    assertEquals(1, props.size());
    assertEquals(true, props.get("IP Range").isLabelProperty());
    assertEquals("IP Range", props.get("IP Range").getDisplayName());
    assertEquals("string", props.get("IP Range").getType());
  }

  @Test
  public void testTypeURL() {
    Map<String, PropertyModel> props = type.getProperties("maltego.URL");

    assertEquals(3, props.size());
    assertEquals(true, props.get("URL").isLabelProperty());
    assertEquals("URL", props.get("URL").getDisplayName());
    assertEquals("url", props.get("URL").getType());

    assertEquals(false, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("Short title").isLabelProperty());
    assertEquals("Short title", props.get("Short title").getDisplayName());
    assertEquals("string", props.get("Short title").getType());
  }

  @Test
  public void testTypeWebsite() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Website");

    assertEquals(3, props.size());
    assertEquals(true, props.get("Website").isLabelProperty());
    assertEquals("Website", props.get("Website").getDisplayName());
    assertEquals("string", props.get("Website").getType());

    assertEquals(false, props.get("Ports").isLabelProperty());
    assertEquals("Ports", props.get("Ports").getDisplayName());
    assertEquals("int[]", props.get("Ports").getType());

    assertEquals(false, props.get("SSL Enabled").isLabelProperty());
    assertEquals("SSL Enabled", props.get("SSL Enabled").getDisplayName());
    assertEquals("boolean", props.get("SSL Enabled").getType());
  }

  @Test
  public void testLocationTypes() {
    String[] types = new String[] { "Airport", "Church", "City", "Country",
        "CrimeScene", "Harbor", "Home", "Location", "Office", "Prison",
        "Region", "Shop", "TrainStation" };

    for (String typeStr : types) {
      Map<String, PropertyModel> props = type.getProperties("maltego."
          + typeStr);

      assertEquals(9, props.size());

      assertEquals(true, props.get("Name").isLabelProperty());
      assertEquals("Name", props.get("Name").getDisplayName());
      assertEquals("string", props.get("Name").getType());

      assertEquals(false, props.get("Street Address").isLabelProperty());
      assertEquals("Street Address", props.get("Street Address")
          .getDisplayName());
      assertEquals("string", props.get("Street Address").getType());

      assertEquals(false, props.get("Country Code").isLabelProperty());
      assertEquals("Country Code", props.get("Country Code")
          .getDisplayName());
      assertEquals("string", props.get("Country Code").getType());

      assertEquals(false, props.get("Area").isLabelProperty());
      assertEquals("Area", props.get("Area").getDisplayName());
      assertEquals("string", props.get("Area").getType());

      assertEquals(false, props.get("Area Code").isLabelProperty());
      assertEquals("Area Code", props.get("Area Code").getDisplayName());
      assertEquals("string", props.get("Area Code").getType());

      assertEquals(false, props.get("Longitude").isLabelProperty());
      assertEquals("Longitude", props.get("Longitude").getDisplayName());
      assertEquals("float", props.get("Longitude").getType());

      assertEquals(false, props.get("Latitude").isLabelProperty());
      assertEquals("Latitude", props.get("Latitude").getDisplayName());
      assertEquals("float", props.get("Latitude").getType());

      assertEquals(false, props.get("City").isLabelProperty());
      assertEquals("City", props.get("City").getDisplayName());
      assertEquals("string", props.get("City").getType());

      assertEquals(false, props.get("Country").isLabelProperty());
      assertEquals("Country", props.get("Country").getDisplayName());
      assertEquals("string", props.get("Country").getType());
    }
  }

  @Test
  public void testPeopleTypes() {
    String[] types = new String[] { "BusinessLeader", "Businessman",
        "Child", "DrugDealer", "Female", "GangLeader", "GangMember",
        "GovernmentOfficial", "Judge", "LawOfficer", "Lawyer", "Male",
        "MilitaryOfficer", "SexOffender", "Terrorist",
        "TerroristLeader", "Unsub" };

    for (String typeStr : types) {
      Map<String, PropertyModel> props = type.getProperties("maltego."
          + typeStr);

      assertEquals(3, props.size());

      assertEquals(true, props.get("Full Name").isLabelProperty());
      assertEquals("Full Name", props.get("Full Name").getDisplayName());
      assertEquals("string", props.get("Full Name").getType());

      assertEquals(false, props.get("First Names").isLabelProperty());
      assertEquals("First Names", props.get("First Names")
          .getDisplayName());
      assertEquals("string", props.get("First Names").getType());

      assertEquals(false, props.get("Surname").isLabelProperty());
      assertEquals("Surname", props.get("Surname").getDisplayName());
      assertEquals("string", props.get("Surname").getType());
    }
  }

  @Test
  public void testTypeAlias() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Alias");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Alias").isLabelProperty());
    assertEquals("Alias", props.get("Alias").getDisplayName());
    assertEquals("string", props.get("Alias").getType());
  }

  @Test
  public void testTypeDocument() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.Document");

    assertEquals(3, props.size());
    assertEquals(true, props.get("Title").isLabelProperty());
    assertEquals("Title", props.get("Title").getDisplayName());
    assertEquals("string", props.get("Title").getType());

    assertEquals(false, props.get("Meta-Data").isLabelProperty());
    assertEquals("Meta-Data", props.get("Meta-Data").getDisplayName());
    assertEquals("string", props.get("Meta-Data").getType());

    assertEquals(false, props.get("URL").isLabelProperty());
    assertEquals("URL", props.get("URL").getDisplayName());
    assertEquals("url", props.get("URL").getType());
  }

  @Test
  public void testTypeEmailAddress() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.EmailAddress");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Email Address").isLabelProperty());
    assertEquals("Email Address", props.get("Email Address")
        .getDisplayName());
    assertEquals("string", props.get("Email Address").getType());
  }

  @Test
  public void testTypeImage() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Image");

    assertEquals(2, props.size());
    assertEquals(true, props.get("Description").isLabelProperty());
    assertEquals("Description", props.get("Description").getDisplayName());
    assertEquals("string", props.get("Description").getType());

    assertEquals(false, props.get("URL").isLabelProperty());
    assertEquals("URL", props.get("URL").getDisplayName());
    assertEquals("url", props.get("URL").getType());
  }

  @Test
  public void testTypePerson() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Person");

    assertEquals(3, props.size());
    assertEquals(true, props.get("Full Name").isLabelProperty());
    assertEquals("Full Name", props.get("Full Name").getDisplayName());
    assertEquals("string", props.get("Full Name").getType());

    assertFalse(props.get("First Names").isLabelProperty());
    assertEquals("First Names", props.get("First Names").getDisplayName());
    assertEquals("string", props.get("First Names").getType());

    assertFalse(props.get("Surname").isLabelProperty());
    assertEquals("Surname", props.get("Surname").getDisplayName());
    assertEquals("string", props.get("Surname").getType());
  }

  @Test
  public void testPhoneNumberTypes() {
    String[] types = new String[] { "PhoneNumber", "PhoneNumberMobile",
        "PhoneNumberOffice", "PhoneNumberResidential" };

    for (String typeStr : types) {
      Map<String, PropertyModel> props = type.getProperties("maltego."
          + typeStr);

      assertEquals(5, props.size());
      assertEquals(true, props.get("Phone Number").isLabelProperty());
      assertEquals("Phone Number", props.get("Phone Number")
          .getDisplayName());
      assertEquals("string", props.get("Phone Number").getType());

      assertEquals(false, props.get("City Code").isLabelProperty());
      assertEquals("City Code", props.get("City Code").getDisplayName());
      assertEquals("string", props.get("City Code").getType());

      assertEquals(false, props.get("Country Code").isLabelProperty());
      assertEquals("Country Code", props.get("Country Code")
          .getDisplayName());
      assertEquals("string", props.get("Country Code").getType());

      assertEquals(false, props.get("Area Code").isLabelProperty());
      assertEquals("Area Code", props.get("Area Code").getDisplayName());
      assertEquals("string", props.get("Area Code").getType());

      assertEquals(false, props.get("Last Digits").isLabelProperty());
      assertEquals("Last Digits", props.get("Last Digits")
          .getDisplayName());
      assertEquals("string", props.get("Last Digits").getType());
    }
  }

  @Test
  public void testTypePhrase() {
    Map<String, PropertyModel> props = type.getProperties("maltego.Phrase");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Text").isLabelProperty());
    assertEquals("Text", props.get("Text").getDisplayName());
    assertEquals("string", props.get("Text").getType());
  }

  @Test
  public void testTypeAffiliationFacebook() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.affiliation.Facebook");

    assertEquals(4, props.size());
    assertEquals(true, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Profile URL")
        .isLabelProperty());
    assertEquals("Profile URL", props.get("Profile URL")
        .getDisplayName());
    assertEquals("string", props.get("Profile URL").getType());

    assertEquals(false, props.get("Network").isLabelProperty());
    assertEquals("Network", props.get("Network")
        .getDisplayName());
    assertEquals("string", props.get("Network").getType());

    assertEquals(false, props.get("UID").isLabelProperty());
    assertEquals("UID", props.get("UID").getDisplayName());
    assertEquals("string", props.get("UID").getType());
  }

  @Test
  public void testTypeAffiliationLinkedIn() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.affiliation.LinkedIn");

    assertEquals(4, props.size());
    assertEquals(true, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Profile URL")
        .isLabelProperty());
    assertEquals("Profile URL", props.get("Profile URL")
        .getDisplayName());
    assertEquals("string", props.get("Profile URL").getType());

    assertEquals(false, props.get("Network").isLabelProperty());
    assertEquals("Network", props.get("Network")
        .getDisplayName());
    assertEquals("string", props.get("Network").getType());

    assertEquals(false, props.get("UID").isLabelProperty());
    assertEquals("UID", props.get("UID").getDisplayName());
    assertEquals("string", props.get("UID").getType());
  }

  @Test
  public void testTypeAffiliationTwitter() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.affiliation.Twitter");

    assertEquals(8, props.size());
    assertEquals(true, props.get("Name").isLabelProperty());
    assertEquals("Name", props.get("Name").getDisplayName());
    assertEquals("string", props.get("Name").getType());

    assertEquals(false, props.get("Real Name").isLabelProperty());
    assertEquals("Real Name", props.get("Real Name").getDisplayName());
    assertEquals("string", props.get("Real Name").getType());

    assertEquals(false, props.get("Twitter Number").isLabelProperty());
    assertEquals("Twitter Number", props.get("Twitter Number")
        .getDisplayName());
    assertEquals("int", props.get("Twitter Number").getType());

    assertEquals(false, props.get("Profile URL")
        .isLabelProperty());
    assertEquals("Profile URL", props.get("Profile URL")
        .getDisplayName());
    assertEquals("string", props.get("Profile URL").getType());

    assertEquals(false, props.get("Screen Name").isLabelProperty());
    assertEquals("Screen Name", props.get("Screen Name")
        .getDisplayName());
    assertEquals("string", props.get("Screen Name").getType());

    assertEquals(false, props.get("Friend Count").isLabelProperty());
    assertEquals("Friend Count", props.get("Friend Count")
        .getDisplayName());
    assertEquals("int", props.get("Friend Count").getType());

    assertEquals(false, props.get("Network").isLabelProperty());
    assertEquals("Network", props.get("Network")
        .getDisplayName());
    assertEquals("string", props.get("Network").getType());

    assertEquals(false, props.get("UID").isLabelProperty());
    assertEquals("UID", props.get("UID").getDisplayName());
    assertEquals("string", props.get("UID").getType());
  }

  @Test
  public void testTypeBankAccount() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.BankAccount");

    assertEquals(3, props.size());
    assertEquals(true, props.get("Account Number").isLabelProperty());
    assertEquals("Account Number", props.get("Account Number")
        .getDisplayName());
    assertEquals("string", props.get("Account Number").getType());

    assertEquals(false, props.get("Branch Code").isLabelProperty());
    assertEquals("Branch Code", props.get("Branch Code").getDisplayName());
    assertEquals("string", props.get("Branch Code").getType());

    assertEquals(false, props.get("Bank").isLabelProperty());
    assertEquals("Bank", props.get("Bank").getDisplayName());
    assertEquals("string", props.get("Bank").getType());
  }

  @Test
  public void testTypeFlightNumber() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.FlightNumber");

    assertEquals(4, props.size());
    assertEquals(true, props.get("Flight ID").isLabelProperty());
    assertEquals("Flight ID", props.get("Flight ID").getDisplayName());
    assertEquals("string", props.get("Flight ID").getType());

    assertEquals(false, props.get("Airline").isLabelProperty());
    assertEquals("Airline", props.get("Airline").getDisplayName());
    assertEquals("string", props.get("Airline").getType());

    assertEquals(false, props.get("Date").isLabelProperty());
    assertEquals("Date", props.get("Date").getDisplayName());
    assertEquals("date", props.get("Date").getType());

    assertEquals(false, props.get("Flight Number").isLabelProperty());
    assertEquals("Flight Number", props.get("Flight Number")
        .getDisplayName());
    assertEquals("string", props.get("Flight Number").getType());
  }

  @Test
  public void testTypeIdentificationNumber() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.IdentificationNumber");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Number").isLabelProperty());
    assertEquals("Number", props.get("Number")
        .getDisplayName());
    assertEquals("string", props.get("Number").getType());
  }

  @Test
  public void testTypeMacAddress() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.MacAddress");

    assertEquals(1, props.size());
    assertEquals(true, props.get("MAC Address").isLabelProperty());
    assertEquals("MAC Address", props.get("MAC Address").getDisplayName());
    assertEquals("string", props.get("MAC Address").getType());
  }

  @Test
  public void testTypePassportNumber() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.PassportNumber");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Number").isLabelProperty());
    assertEquals("Number", props.get("Number")
        .getDisplayName());
    assertEquals("string", props.get("Number").getType());
  }

  @Test
  public void testTypeVehicleRegistration() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.VehicleRegistration");

    assertEquals(1, props.size());
    assertEquals(true, props.get("Registration Number").isLabelProperty());
    assertEquals("Registration Number", props.get("Registration Number")
        .getDisplayName());
    assertEquals("string", props.get("Registration Number").getType());
  }

  @Test
  public void testTypeVinNumber() {
    Map<String, PropertyModel> props = type
        .getProperties("maltego.VinNumber");

    assertEquals(1, props.size());
    assertEquals(true, props.get("VIN Number").isLabelProperty());
    assertEquals("VIN Number", props.get("VIN Number").getDisplayName());
    assertEquals("string", props.get("VIN Number").getType());
  }

  @Test
  public void testTransportationTypes() {
    String[] types = new String[] { "Bike", "Boat", "Bus", "Car", "Plane",
        "Train" };

    for (String typeStr : types) {
      Map<String, PropertyModel> props = type.getProperties("maltego." + typeStr);

      assertEquals(3, props.size());
      assertEquals(true, props.get("Name").isLabelProperty());
      assertEquals("Name", props.get("Name").getDisplayName());
      assertEquals("string", props.get("Name").getType());

      assertEquals(false, props.get("Make").isLabelProperty());
      assertEquals("Make", props.get("Make").getDisplayName());
      assertEquals("string", props.get("Make").getType());

      assertEquals(false, props.get("Model").isLabelProperty());
      assertEquals("Model", props.get("Model").getDisplayName());
      assertEquals("string", props.get("Model").getType());
    }
  }

  @Test
  public void testWeaponTypes() {
    String[] types = new String[] { "Ammunition", "BioWeapon", "Blade",
        "ChemicalWeapon", "Explosive", "Gun", "IED", "Missile",
        "NuclearWeapon" };

    for (String typeStr : types) {
      Map<String, PropertyModel> props = type.getProperties("maltego." + typeStr);

      assertEquals(1, props.size());
      assertEquals(true, props.get("Type").isLabelProperty());
      assertEquals("Type", props.get("Type").getDisplayName());
      assertEquals("string", props.get("Type").getType());
    }
  }
}
TOP

Related Classes of com.pcbje.maltegoimporter.model.impl.MaltegoNodeEntityDefinitionTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.