Search in sources :

Example 1 with JMSMessagingProvider

use of com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider in project jms-messaging-plugin by jenkinsci.

the class MigrationTest method testConfig.

@LocalData
@Test
public void testConfig() {
    assertEquals("config is not 1", 1, GlobalCIConfiguration.get().getConfigs().size());
    JMSMessagingProvider config = GlobalCIConfiguration.get().getConfigs().get(0);
    ActiveMqMessagingProvider aconfig = (ActiveMqMessagingProvider) config;
    String topic = aconfig.getTopic();
    assertEquals("topic is not TOM", "TOM", topic);
    AbstractProject<?, ?> triggerJob = (AbstractProject<?, ?>) j.getInstance().getItem("ci-trigger");
    CIBuildTrigger trigger = triggerJob.getTrigger(CIBuildTrigger.class);
    assertNotNull(trigger);
    CIBuildTrigger cibt = triggerJob.getTrigger(CIBuildTrigger.class);
    assertTrue(cibt.getProviders().get(0) instanceof ActiveMQSubscriberProviderData);
    assertNotNull(cibt.getProviders().get(0).getName());
    assertNotNull(cibt.getSelector());
    FreeStyleProject notifierJob = (FreeStyleProject) j.getInstance().getItem("ci-notifier");
    CIMessageBuilder builder = notifierJob.getBuildersList().get(CIMessageBuilder.class);
    assertNotNull(builder);
    assertNotNull(builder.getProviderName());
    assertNotNull(notifierJob.getPublishersList());
    CIMessageNotifier notifierPublisher = notifierJob.getPublishersList().get(CIMessageNotifier.class);
    assertNotNull(notifierPublisher.getProviderName());
    FreeStyleProject subscriberJob = (FreeStyleProject) j.getInstance().getItem("ci-message-subscriber");
    CIMessageSubscriberBuilder subscriberBuilder = subscriberJob.getBuildersList().get(CIMessageSubscriberBuilder.class);
    assertNotNull(subscriberBuilder);
    assertNotNull(subscriberBuilder.getProviderName());
    GlobalCIConfiguration newGlobalConfig = new GlobalCIConfiguration();
    JMSMessagingProvider config2 = newGlobalConfig.getConfigs().get(0);
    ActiveMqMessagingProvider aconfig2 = (ActiveMqMessagingProvider) config2;
    assertNotNull(aconfig2.getAuthenticationMethod());
}
Also used : ActiveMqMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingProvider) ActiveMQSubscriberProviderData(com.redhat.jenkins.plugins.ci.provider.data.ActiveMQSubscriberProviderData) JMSMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider) AbstractProject(hudson.model.AbstractProject) FreeStyleProject(hudson.model.FreeStyleProject) LocalData(org.jvnet.hudson.test.recipes.LocalData) Test(org.junit.Test)

Example 2 with JMSMessagingProvider

use of com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider in project jms-messaging-plugin by jenkinsci.

the class MigrationTest method testAlreadyMigratedConfig.

@LocalData
@Test
public void testAlreadyMigratedConfig() {
    assertEquals("config is not 1", 1, GlobalCIConfiguration.get().getConfigs().size());
    JMSMessagingProvider config = GlobalCIConfiguration.get().getConfigs().get(0);
    ActiveMqMessagingProvider aconfig = (ActiveMqMessagingProvider) config;
    String topic = aconfig.getTopic();
    assertEquals("topic is not CI", "CI", topic);
    assertTrue(aconfig.getTopicProvider() instanceof DefaultTopicProvider);
    AbstractProject<?, ?> triggerJob = (AbstractProject<?, ?>) j.getInstance().getItem("ci-trigger");
    CIBuildTrigger trigger = triggerJob.getTrigger(CIBuildTrigger.class);
    assertNotNull(trigger);
    assertNotNull(triggerJob.getTrigger(CIBuildTrigger.class).getProviderName());
    FreeStyleProject notifierJob = (FreeStyleProject) j.getInstance().getItem("ci-notifier");
    CIMessageBuilder builder = notifierJob.getBuildersList().get(CIMessageBuilder.class);
    assertNotNull(builder);
    assertNotNull(builder.getProviderName());
    assertNotNull(notifierJob.getPublishersList());
    CIMessageNotifier notifierPublisher = notifierJob.getPublishersList().get(CIMessageNotifier.class);
    assertNotNull(notifierPublisher.getProviderName());
    FreeStyleProject subscriberJob = (FreeStyleProject) j.getInstance().getItem("ci-message-subscriber");
    CIMessageSubscriberBuilder subscriberBuilder = subscriberJob.getBuildersList().get(CIMessageSubscriberBuilder.class);
    assertNotNull(subscriberBuilder);
    assertNotNull(subscriberBuilder.getProviderName());
}
Also used : ActiveMqMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingProvider) JMSMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider) DefaultTopicProvider(com.redhat.jenkins.plugins.ci.messaging.topics.DefaultTopicProvider) AbstractProject(hudson.model.AbstractProject) FreeStyleProject(hudson.model.FreeStyleProject) LocalData(org.jvnet.hudson.test.recipes.LocalData) Test(org.junit.Test)

Example 3 with JMSMessagingProvider

use of com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider in project jms-messaging-plugin by jenkinsci.

the class MigrationTest method testUpgradeFromOnlyUserBaseAuth.

@LocalData
@Test
public void testUpgradeFromOnlyUserBaseAuth() {
    assertEquals("config is not 1", 1, GlobalCIConfiguration.get().getConfigs().size());
    JMSMessagingProvider config = GlobalCIConfiguration.get().getConfigs().get(0);
    ActiveMqMessagingProvider aconfig = (ActiveMqMessagingProvider) config;
    assertNotNull(aconfig.getAuthenticationMethod());
    assertTrue(aconfig.getAuthenticationMethod() instanceof UsernameAuthenticationMethod);
    UsernameAuthenticationMethod authMethod = (UsernameAuthenticationMethod) aconfig.getAuthenticationMethod();
    assertEquals("username should be scott", "scott", authMethod.getUsername());
    assertTrue(aconfig.getTopicProvider() instanceof DefaultTopicProvider);
    GlobalCIConfiguration newGlobalConfig = new GlobalCIConfiguration();
    JMSMessagingProvider config2 = newGlobalConfig.getConfigs().get(0);
    ActiveMqMessagingProvider aconfig2 = (ActiveMqMessagingProvider) config2;
    assertNotNull(aconfig2.getAuthenticationMethod());
}
Also used : ActiveMqMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingProvider) JMSMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider) DefaultTopicProvider(com.redhat.jenkins.plugins.ci.messaging.topics.DefaultTopicProvider) UsernameAuthenticationMethod(com.redhat.jenkins.plugins.ci.authentication.activemq.UsernameAuthenticationMethod) LocalData(org.jvnet.hudson.test.recipes.LocalData) Test(org.junit.Test)

Example 4 with JMSMessagingProvider

use of com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider in project jms-messaging-plugin by jenkinsci.

the class CIMessageSubscriberBuilder method waitforCIMessage.

public String waitforCIMessage(Run<?, ?> build, Launcher launcher, TaskListener listener) {
    JMSMessagingProvider provider = GlobalCIConfiguration.get().getProvider(providerData.getName());
    if (provider == null) {
        listener.error("Failed to locate JMSMessagingProvider with name " + providerData.getName() + ". You must update the job configuration.");
        return null;
    }
    JMSMessagingWorker worker = provider.createWorker(providerData, build.getParent().getName());
    return worker.waitForMessage(build, listener, providerData);
}
Also used : JMSMessagingWorker(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingWorker) JMSMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider)

Example 5 with JMSMessagingProvider

use of com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider in project jms-messaging-plugin by jenkinsci.

the class GlobalCIConfiguration method readResolve.

protected Object readResolve() {
    if (broker != null) {
        log.info("Legacy Message Provider Broker value is not null.");
        if (configs.size() == 0) {
            log.info("Current Message Provider size is 0.");
            if (getProvider(DEFAULT_PROVIDER) == null) {
                log.info("There is no default Message Provider.");
                configs.add(new ActiveMqMessagingProvider(DEFAULT_PROVIDER, broker, false, topic, new DefaultTopicProvider(), new UsernameAuthenticationMethod(user, password)));
                log.info("Added default Message Provider using deprecated configuration.");
                setMigrationInProgress(true);
            } else {
                log.info("Default (" + DEFAULT_PROVIDER + ") Message Provider already exists.");
            }
        }
    }
    // Examine providers
    if (configs != null) {
        for (JMSMessagingProvider config : configs) {
            if (config instanceof ActiveMqMessagingProvider) {
                ActiveMqMessagingProvider aconfig = (ActiveMqMessagingProvider) config;
                if (aconfig.IsMigrationInProgress()) {
                    log.info("Migration in progress for ActiveMqMessagingProvider " + aconfig.getName());
                    setMigrationInProgress(true);
                }
            }
        }
    }
    return this;
}
Also used : ActiveMqMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingProvider) JMSMessagingProvider(com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider) DefaultTopicProvider(com.redhat.jenkins.plugins.ci.messaging.topics.DefaultTopicProvider) UsernameAuthenticationMethod(com.redhat.jenkins.plugins.ci.authentication.activemq.UsernameAuthenticationMethod)

Aggregations

JMSMessagingProvider (com.redhat.jenkins.plugins.ci.messaging.JMSMessagingProvider)8 ActiveMqMessagingProvider (com.redhat.jenkins.plugins.ci.messaging.ActiveMqMessagingProvider)5 ActiveMQSubscriberProviderData (com.redhat.jenkins.plugins.ci.provider.data.ActiveMQSubscriberProviderData)4 DefaultTopicProvider (com.redhat.jenkins.plugins.ci.messaging.topics.DefaultTopicProvider)3 FedMsgSubscriberProviderData (com.redhat.jenkins.plugins.ci.provider.data.FedMsgSubscriberProviderData)3 AbstractProject (hudson.model.AbstractProject)3 Test (org.junit.Test)3 LocalData (org.jvnet.hudson.test.recipes.LocalData)3 UsernameAuthenticationMethod (com.redhat.jenkins.plugins.ci.authentication.activemq.UsernameAuthenticationMethod)2 ProviderData (com.redhat.jenkins.plugins.ci.provider.data.ProviderData)2 CITriggerThread (com.redhat.jenkins.plugins.ci.threads.CITriggerThread)2 FreeStyleProject (hudson.model.FreeStyleProject)2 FedMsgMessagingProvider (com.redhat.jenkins.plugins.ci.messaging.FedMsgMessagingProvider)1 JMSMessagingWorker (com.redhat.jenkins.plugins.ci.messaging.JMSMessagingWorker)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1