InstallProposalBuilder extends LSCCProposalBuilder { @Override public FabricProposal.Proposal build() throws ProposalException { constructInstallProposal(); return super.build(); } protected  InstallProposalBuilder(); static InstallProposalBuilder newBuilder(); InstallProposalBuilder chaincodePath(String chaincodePath); InstallProposalBuilder chaincodeName(String chaincodeName); InstallProposalBuilder setChaincodeSource(File chaincodeSource); @Override FabricProposal.Proposal build(); void setChaincodeLanguage(TransactionRequest.Type chaincodeLanguage); void chaincodeVersion(String chaincodeVersion); void setChaincodeInputStream(InputStream chaincodeInputStream);  }
@Test public void testBuildNoChaincode() throws Exception { thrown.expect(IllegalArgumentException.class); thrown.expectMessage("Missing chaincodeSource or chaincodeInputStream"); InstallProposalBuilder builder = createTestBuilder(); builder.build(); }