@Test public void shouldThrowXsdValidationWhenSCMNameIsMissing() throws Exception { String xml = "<cruise schemaVersion='" + GoConstants.CONFIG_SCHEMA_VERSION + "'><scms>\n" + SCM_WITH_MISSING_NAME + " </scms></cruise>"; try { xmlLoader.loadConfigHolder(xml); fail("should have thrown XsdValidationException"); } catch (XsdValidationException e) { assertThat(e.getMessage(), is("\"Name\" is required for Scm")); } }
@Test public void shouldThrowXsdValidationWhenSCMIdIsInvalid() throws Exception { String xml = "<cruise schemaVersion='" + GoConstants.CONFIG_SCHEMA_VERSION + "'><scms>\n" + SCM_WITH_INVALID_ID + " </scms></cruise>"; try { xmlLoader.loadConfigHolder(xml); fail("should have thrown XsdValidationException"); } catch (XsdValidationException e) { assertThat( e.getMessage(), is( "Scm id is invalid. \"id with space\" should conform to the pattern - [a-zA-Z0-9_\\-]{1}[a-zA-Z0-9_\\-.]*")); } }
@Test public void shouldThrowXsdValidationWhenSCMIdsAreDuplicate() throws Exception { String xml = "<cruise schemaVersion='" + GoConstants.CONFIG_SCHEMA_VERSION + "'><scms>\n" + VALID_SCM + VALID_SCM + " </scms></cruise>"; try { xmlLoader.loadConfigHolder(xml); fail("should have thrown XsdValidationException"); } catch (XsdValidationException e) { assertThat( e.getMessage(), is( "Duplicate unique value [scm-id] declared for identity constraint \"uniqueSCMId\" of element \"cruise\".")); } }