Search in sources :

Example 1 with TechnicalException

use of org.ligoj.bootstrap.core.resource.TechnicalException in project ligoj-api by ligoj.

the class NodeResourceTest method prepareEvent.

/**
 * Mock the servers for event test
 */
private int prepareEvent() throws Exception {
    final ServicePluginLocator servicePluginLocator = resourceMock.locator;
    // 1 : service is down
    final JiraPluginResource jira = Mockito.mock(JiraPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.endsWith(":jira"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jira);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.endsWith(":jira"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jira);
    Mockito.when(jira.checkStatus(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenReturn(false);
    // 2 : service is up
    final SonarPluginResource sonar = Mockito.mock(SonarPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.contains(":sonar"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(sonar);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.contains(":sonar"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(sonar);
    Mockito.when(sonar.checkStatus(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenReturn(true);
    // 3 : service throw an exception (down)
    final JenkinsPluginResource jenkins = Mockito.mock(JenkinsPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.contains(":jenkins"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.contains(":jenkins"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(jenkins.checkStatus(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenThrow(new TechnicalException("junit"));
    final int nbNodes = repository.findAllInstance().size();
    // Jirax2, Confluence, LDAP,
    Assertions.assertTrue(nbNodes >= 6);
    // SonarQube
    return nbNodes;
}
Also used : TechnicalException(org.ligoj.bootstrap.core.resource.TechnicalException) JenkinsPluginResource(org.ligoj.app.resource.node.sample.JenkinsPluginResource) JiraPluginResource(org.ligoj.app.resource.node.sample.JiraPluginResource) SonarPluginResource(org.ligoj.app.resource.node.sample.SonarPluginResource) ServicePluginLocator(org.ligoj.app.resource.ServicePluginLocator) ToolPlugin(org.ligoj.app.api.ToolPlugin)

Example 2 with TechnicalException

use of org.ligoj.bootstrap.core.resource.TechnicalException in project ligoj-api by ligoj.

the class NodeResourceTest method prepareSubscriptionsEvent.

private long prepareSubscriptionsEvent() throws Exception {
    // Check previous status
    final long eventsCount = eventRepository.count();
    Assertions.assertEquals(5, eventsCount);
    final ServicePluginLocator servicePluginLocator = resourceMock.locator;
    // Service is up --> SONAR
    final SonarPluginResource sonar = Mockito.mock(SonarPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.anyString(), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(sonar);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.anyString(), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(sonar);
    Mockito.when(sonar.checkSubscriptionStatus(ArgumentMatchers.anyInt(), ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenReturn(new SubscriptionStatusWithData());
    Mockito.when(sonar.checkStatus(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenReturn(true);
    // Service is down --> JIRA
    final JiraPluginResource jira = Mockito.mock(JiraPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.contains(":jira"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jira);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.contains(":jira"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jira);
    Mockito.when(jira.checkSubscriptionStatus(ArgumentMatchers.anyInt(), ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenReturn(new SubscriptionStatusWithData(false));
    // Service throw an exception --> JENKINS
    final JenkinsPluginResource jenkins = Mockito.mock(JenkinsPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.contains(":jenkins"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.contains(":jenkins"), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(jenkins.checkSubscriptionStatus(ArgumentMatchers.anyInt(), ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenThrow(new TechnicalException("junit"));
    return eventsCount;
}
Also used : SubscriptionStatusWithData(org.ligoj.app.api.SubscriptionStatusWithData) TechnicalException(org.ligoj.bootstrap.core.resource.TechnicalException) JenkinsPluginResource(org.ligoj.app.resource.node.sample.JenkinsPluginResource) JiraPluginResource(org.ligoj.app.resource.node.sample.JiraPluginResource) SonarPluginResource(org.ligoj.app.resource.node.sample.SonarPluginResource) ServicePluginLocator(org.ligoj.app.resource.ServicePluginLocator) ToolPlugin(org.ligoj.app.api.ToolPlugin)

Example 3 with TechnicalException

use of org.ligoj.bootstrap.core.resource.TechnicalException in project ligoj-api by ligoj.

the class NodeResourceTest method checkSubscriptionStatusException.

@Test
public void checkSubscriptionStatusException() throws Exception {
    mockApplicationContext();
    final NodeResource resource = resourceMock;
    final ServicePluginLocator servicePluginLocator = resourceMock.locator;
    // data
    final Node jiraNode = repository.findByName("JIRA 4");
    // subscription throw an exception
    final JenkinsPluginResource jenkins = Mockito.mock(JenkinsPluginResource.class);
    Mockito.when(servicePluginLocator.getResource(ArgumentMatchers.anyString(), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(servicePluginLocator.getResourceExpected(ArgumentMatchers.anyString(), ArgumentMatchers.eq(ToolPlugin.class))).thenReturn(jenkins);
    Mockito.when(jenkins.checkSubscriptionStatus(ArgumentMatchers.anyString(), ArgumentMatchers.anyMap())).thenThrow(new TechnicalException("junit"));
    // check status
    final long eventsCount = eventRepository.count();
    resource.checkSubscriptionStatus(jiraNode, NodeStatus.UP);
    // 1 subscription
    Assertions.assertEquals(eventsCount + 1, eventRepository.count());
}
Also used : TechnicalException(org.ligoj.bootstrap.core.resource.TechnicalException) JenkinsPluginResource(org.ligoj.app.resource.node.sample.JenkinsPluginResource) DelegateNode(org.ligoj.app.model.DelegateNode) TaskSampleNode(org.ligoj.app.model.TaskSampleNode) Node(org.ligoj.app.model.Node) ServicePluginLocator(org.ligoj.app.resource.ServicePluginLocator) ToolPlugin(org.ligoj.app.api.ToolPlugin) Test(org.junit.jupiter.api.Test) AbstractAppTest(org.ligoj.app.AbstractAppTest)

Aggregations

ToolPlugin (org.ligoj.app.api.ToolPlugin)3 ServicePluginLocator (org.ligoj.app.resource.ServicePluginLocator)3 JenkinsPluginResource (org.ligoj.app.resource.node.sample.JenkinsPluginResource)3 TechnicalException (org.ligoj.bootstrap.core.resource.TechnicalException)3 JiraPluginResource (org.ligoj.app.resource.node.sample.JiraPluginResource)2 SonarPluginResource (org.ligoj.app.resource.node.sample.SonarPluginResource)2 Test (org.junit.jupiter.api.Test)1 AbstractAppTest (org.ligoj.app.AbstractAppTest)1 SubscriptionStatusWithData (org.ligoj.app.api.SubscriptionStatusWithData)1 DelegateNode (org.ligoj.app.model.DelegateNode)1 Node (org.ligoj.app.model.Node)1 TaskSampleNode (org.ligoj.app.model.TaskSampleNode)1