Package com.puppetlabs.geppetto.forge.maven.plugin

Source Code of com.puppetlabs.geppetto.forge.maven.plugin.SetupTestMojo

/**
* Copyright (c) 2013 Puppet Labs, Inc. and other contributors, as listed below.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*   Puppet Labs
*/
package com.puppetlabs.geppetto.forge.maven.plugin;

import static com.puppetlabs.geppetto.injectable.CommonModuleProvider.getCommonModule;

import java.io.IOException;
import java.util.Properties;

import com.puppetlabs.geppetto.forge.client.ForgeHttpModule;
import com.puppetlabs.geppetto.forge.client.GsonModule;
import com.puppetlabs.geppetto.forge.client.OAuthModule;
import com.puppetlabs.geppetto.forge.v2.ForgeAPI;
import com.puppetlabs.geppetto.forge.v2.service.ModuleService;
import com.puppetlabs.geppetto.forge.v2.service.ReleaseService;
import com.puppetlabs.geppetto.semver.Version;
import org.junit.Before;
import org.junit.Test;

import com.google.inject.Module;

public class SetupTestMojo extends AbstractForgeTestMojo {
  private static Module createCredentialsModule(Properties props, String login, String password) throws IOException {
    return new OAuthModule(
      props.getProperty("forge.oauth.clientID"), props.getProperty("forge.oauth.clientSecret"), login, password);
  }

  @Test
  public void dropTestModules() throws Exception {
    Properties props = AbstractForgeMojo.readForgeProperties();

    // Login using the primary login (bob)
    Module forgeModule = new ForgeHttpModule() {
      @Override
      protected String getBaseURL() {
        return System.getProperty("forge.base.url");
      }
    };

    String owner = System.getProperty("forge.login");
    ForgeAPI forge = new ForgeAPI(getCommonModule(), GsonModule.INSTANCE, createCredentialsModule(
      props, owner, System.getProperty("forge.password")), forgeModule);

    // Create the modules used in publishing tests
    ModuleService moduleService = forge.createModuleService();
    ReleaseService releaseService = forge.createReleaseService();
    try {
      releaseService.delete(owner, "test_module_a", Version.create(1, 0, 0));
      moduleService.delete(owner, "test_module_a");
    }
    catch(Exception e) {
    }
    try {
      releaseService.delete(owner, "test_module_b", Version.create(1, 0, 0));
      moduleService.delete(owner, "test_module_b");
    }
    catch(Exception e) {
    }
    try {
      releaseService.delete(owner, "test_module_c", Version.create(1, 0, 0));
      moduleService.delete(owner, "test_module_c");
    }
    catch(Exception e) {
    }
    try {
      releaseService.delete(owner, "test_module_d", Version.create(1, 0, 0));
      moduleService.delete(owner, "test_module_d");
    }
    catch(Exception e) {
    }
    try {
      moduleService.delete(System.getProperty("forge.login.second"), "test_module_wrong_owner");
    }
    catch(Exception e) {
    }
  }

  @Override
  @Before
  public void setUp() throws Exception {
    super.setUp();
  }
}
TOP

Related Classes of com.puppetlabs.geppetto.forge.maven.plugin.SetupTestMojo

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.