public <T> T fromXmlPartial(String partial, Class<T> o) throws Exception {
        return fromXmlPartial(toInputStream(partial, UTF_8), o);
    }
@Test
    void shouldBeAbleToExplicitlyUnlockAPipeline() throws Exception {
        String pipelineXmlPartial =
                ("""
                        <pipeline name="pipeline" lockBehavior="%s">
                          <materials>
                            <hg url="/hgrepo"/>
                          </materials>
                          <stage name="mingle">
                            <jobs>
                              <job name="functional">
                                <artifacts>
                                  <log src="artifact1.xml" dest="cruise-output" />
                                </artifacts>
                              </job>
                            </jobs>
                          </stage>
                        </pipeline>
                        """).formatted(PipelineConfig.LOCK_VALUE_NONE);
        PipelineConfig pipeline = xmlLoader.fromXmlPartial(pipelineXmlPartial, PipelineConfig.class);

        assertThat(pipeline.hasExplicitLock()).isTrue();
        assertThat(pipeline.explicitLock()).isFalse();
    }