/** test that if number of cpus is above threshold, agreement creation fails. */
  public void testAgreementCreationShouldFailIfCPUNumberAboveThreshold() {
    try {

      AgreementTemplateType template =
          getAgreementFactory().getTemplate(TEMPLATE_NAME, TEMPLATE_ID);
      AgreementOffer offer = new AgreementOfferType(template);
      XmlObject[] serviceXML = getServiceManifestXmlObject(offer);
      Manifest spManifest = getSPManifestFromXmlObject(serviceXML[0]);

      // set memory size 1 zero too much.
      spManifest
          .getVirtualMachineDescriptionSection()
          .getVirtualMachineComponentArray(0)
          .getOVFDefinition()
          .getVirtualSystem()
          .getVirtualHardwareSection()
          .setNumberOfVirtualCPUs(81920123);

      serviceXML[0].set(spManifest.toXmlBeanObject().getServiceManifest());

      AgreementClient agreementClient = getAgreementFactory().createAgreement(offer);

      assertNull("Agreement creation did not fail", agreementClient);

    } catch (Exception e) {
      System.out.println("Agreement creation should fail because of creation constraints");
      System.out.println(e.getMessage());
    }
  }
  public void testAgreementCreationFailsIfMaxInstancesAbove10() {
    try {

      AgreementTemplateType template =
          getAgreementFactory().getTemplate(TEMPLATE_NAME, TEMPLATE_ID);
      AgreementOffer offer = new AgreementOfferType(template);
      XmlObject[] serviceXML = getServiceManifestXmlObject(offer);
      Manifest spManifest = getSPManifestFromXmlObject(serviceXML[0]);

      spManifest
          .getVirtualMachineDescriptionSection()
          .getVirtualMachineComponentArray(0)
          .getAllocationConstraints()
          .setUpperBound(800);

      serviceXML[0].set(spManifest.toXmlBeanObject().getServiceManifest());

      AgreementClient agreementClient = null;

      agreementClient = getAgreementFactory().createAgreement(offer);

      assertNull("Agreement creation did not fail", agreementClient);

    } catch (Exception e) {
      System.out.println("Agreement creation should fail because of creation constraints");
      System.out.println(e.getMessage());
    }
  }
  /** agreement creation fails if size is above 512000 */
  public void testAgreementCreationShouldFailIfSizeAboveThreshold() {
    try {

      AgreementTemplateType template =
          getAgreementFactory().getTemplate(TEMPLATE_NAME, TEMPLATE_ID);
      AgreementOffer offer = new AgreementOfferType(template);
      XmlObject[] serviceXML = getServiceManifestXmlObject(offer);
      Manifest spManifest = getSPManifestFromXmlObject(serviceXML[0]);

      // set vm image size above threshold of 512000
      spManifest
          .getVirtualMachineDescriptionSection()
          .getVirtualMachineComponentArray(0)
          .getOVFDefinition()
          .getDiskSection()
          .getImageDisk()
          .setCapacity("1512000");
      serviceXML[0].set(spManifest.toXmlBeanObject().getServiceManifest());

      AgreementClient agreementClient = getAgreementFactory().createAgreement(offer);

      assertNull("Agreement creation did not fail", agreementClient);

    } catch (Exception e) {
      System.out.println("Agreement creation should fail because of creation constraints");
      System.out.println(e.getMessage());
    }
  }