Search in sources :

Example 6 with NodeVo

use of org.ligoj.app.api.NodeVo in project ligoj-api by ligoj.

the class NodeResourceTest method findAllByParentFilterModeCreate.

@Test
public void findAllByParentFilterModeCreate() {
    final List<NodeVo> resources = resource.findAll(newUriInfo(), null, LdapPluginResource.KEY, SubscriptionMode.CREATE, -1).getData();
    Assertions.assertEquals(1, resources.size());
    final NodeVo service = resources.get(0);
    Assertions.assertEquals("service:id:ldap:dig", service.getId());
    Assertions.assertEquals("OpenLDAP", service.getName());
    Assertions.assertEquals("service:id:ldap", service.getRefined().getId());
    // This node accept creation
    Assertions.assertEquals(SubscriptionMode.CREATE, service.getMode());
}
Also used : NodeVo(org.ligoj.app.api.NodeVo) Test(org.junit.jupiter.api.Test) AbstractAppTest(org.ligoj.app.AbstractAppTest)

Example 7 with NodeVo

use of org.ligoj.app.api.NodeVo in project ligoj-api by ligoj.

the class NodeResourceTest method createNoParameter.

@Test
public void createNoParameter() {
    Assertions.assertNull(resource.findAll().get("service:bt:jira:7"));
    final NodeEditionVo node = new NodeEditionVo();
    node.setId("service:bt:jira:7");
    node.setMode(SubscriptionMode.LINK);
    node.setName("Jira 7");
    node.setNode("service:bt:jira");
    resource.create(node);
    Assertions.assertTrue(repository.existsById("service:bt:jira:7"));
    final NodeVo nodeVo = resource.findAll().get("service:bt:jira:7");
    Assertions.assertNotNull(nodeVo);
    Assertions.assertEquals("Jira 7", nodeVo.getName());
    Assertions.assertEquals(SubscriptionMode.LINK, nodeVo.getMode());
    Assertions.assertEquals("service:bt:jira", nodeVo.getRefined().getId());
}
Also used : NodeVo(org.ligoj.app.api.NodeVo) Test(org.junit.jupiter.api.Test) AbstractAppTest(org.ligoj.app.AbstractAppTest)

Example 8 with NodeVo

use of org.ligoj.app.api.NodeVo in project ligoj-api by ligoj.

the class NodeResourceTest method create.

@Test
public void create() {
    Assertions.assertNull(resource.findAll().get("service:bt:jira:some-7"));
    final NodeEditionVo node = new NodeEditionVo();
    node.setId("service:bt:jira:some-7");
    node.setMode(SubscriptionMode.LINK);
    node.setName("Jira 7");
    node.setNode("service:bt:jira");
    final ParameterValueCreateVo value = new ParameterValueCreateVo();
    value.setParameter("service:bt:jira:password");
    value.setText("secret");
    node.setParameters(Collections.singletonList(value));
    resource.create(node);
    Assertions.assertTrue(repository.existsById("service:bt:jira:some-7"));
    final NodeVo nodeVo = resource.findAll().get("service:bt:jira:some-7");
    Assertions.assertNotNull(nodeVo);
    Assertions.assertEquals("Jira 7", nodeVo.getName());
    Assertions.assertEquals(SubscriptionMode.LINK, nodeVo.getMode());
    Assertions.assertEquals("service:bt:jira", nodeVo.getRefined().getId());
    Assertions.assertEquals("secret", parameterValueResource.getNodeParameters("service:bt:jira:some-7").get("service:bt:jira:password"));
    // Secured data
    Assertions.assertNotEquals("secret", parameterValueRepository.getParameterValues("service:bt:jira:some-7").get(0).getData());
}
Also used : NodeVo(org.ligoj.app.api.NodeVo) Test(org.junit.jupiter.api.Test) AbstractAppTest(org.ligoj.app.AbstractAppTest)

Example 9 with NodeVo

use of org.ligoj.app.api.NodeVo in project ligoj-api by ligoj.

the class NodeResourceTest method newNode.

private void newNode(final SubscriptionMode mode) {
    Assertions.assertNull(resource.findAll().get("service:some"));
    final NodeEditionVo node = new NodeEditionVo();
    node.setId("service:some");
    node.setName("New Service");
    node.setMode(mode);
    resource.create(node);
    Assertions.assertTrue(repository.existsById("service:some"));
    final NodeVo nodeVo = resource.findAll().get("service:some");
    Assertions.assertNotNull(nodeVo);
    Assertions.assertEquals("New Service", nodeVo.getName());
    Assertions.assertFalse(nodeVo.isRefining());
}
Also used : NodeVo(org.ligoj.app.api.NodeVo)

Example 10 with NodeVo

use of org.ligoj.app.api.NodeVo in project ligoj-api by ligoj.

the class ToVoConverterTest method apply.

@Test
public void apply() {
    // Sub user repository
    final IamProvider iamProvider = Mockito.mock(IamProvider.class);
    final IUserRepository userRepository = Mockito.mock(IUserRepository.class);
    final IamConfiguration configuration = new IamConfiguration();
    configuration.setUserRepository(userRepository);
    Mockito.when(iamProvider.getConfiguration()).thenReturn(configuration);
    Mockito.when(userRepository.findById(ArgumentMatchers.anyString())).then(invocation -> toUser((String) invocation.getArguments()[0]));
    // Stub subscriptions
    final List<Object[]> subscriptions = new ArrayList<>();
    final Parameter parameter1 = new Parameter();
    parameter1.setId(IdentityResource.PARAMETER_GROUP);
    parameter1.setType(ParameterType.TEXT);
    parameter1.setOwner(new Node());
    final Parameter parameter2 = new Parameter();
    parameter2.setId(IdentityResource.PARAMETER_GROUP);
    parameter2.setType(ParameterType.TEXT);
    parameter2.setOwner(new Node());
    final Parameter parameter3 = new Parameter();
    parameter3.setId("any");
    parameter3.setType(ParameterType.TEXT);
    parameter3.setOwner(new Node());
    final ParameterValue value1 = new ParameterValue();
    value1.setId(1);
    value1.setParameter(parameter1);
    value1.setData("G");
    final ParameterValue value2 = new ParameterValue();
    value2.setId(2);
    value2.setParameter(parameter2);
    value2.setData("any");
    final ParameterValue value3 = new ParameterValue();
    value3.setId(3);
    value3.setParameter(parameter3);
    value3.setData("any");
    final Subscription subscription = new Subscription();
    subscription.setId(1);
    final Node node = new Node();
    node.setId("service:n2");
    subscription.setNode(node);
    subscriptions.add(new Object[] { subscription, value1 });
    subscriptions.add(new Object[] { subscription, value2 });
    subscriptions.add(new Object[] { subscription, value3 });
    // Subscription without status
    final Subscription subscription2 = new Subscription();
    subscription2.setId(-1);
    final Node node2 = new Node();
    node2.setId("service:n1");
    subscription2.setNode(node2);
    subscriptions.add(new Object[] { subscription2, value3 });
    // Stub events
    final Map<Integer, EventVo> events = new HashMap<>();
    final EventVo event = new EventVo();
    event.setSubscription(1);
    event.setNode(new NodeVo());
    event.setValue("UP");
    events.put(1, event);
    // Call
    final ToVoConverter converter = new ToVoConverter(this::toUser, subscriptions, events);
    final Project entity = new Project();
    entity.setId(1);
    entity.setName("N");
    entity.setDescription("D");
    entity.setLastModifiedBy("U1");
    entity.setLastModifiedDate(new Date());
    entity.setCreatedBy("U2");
    entity.setCreatedDate(new Date());
    entity.setPkey("PK");
    entity.setTeamLeader("U3");
    entity.setSubscriptions(Arrays.asList(new Subscription[] { subscription, subscription2 }));
    final ProjectVo vo = converter.apply(entity);
    // Check
    Assertions.assertEquals("N", vo.getName());
    Assertions.assertEquals("D", vo.getDescription());
    Assertions.assertEquals("PK", vo.getPkey());
    Assertions.assertEquals("U2", vo.getCreatedBy().getId());
    Assertions.assertNotNull(vo.getCreatedDate());
    Assertions.assertEquals("U1", vo.getLastModifiedBy().getId());
    Assertions.assertNotNull(vo.getLastModifiedDate());
    Assertions.assertEquals("U3", vo.getTeamLeader().getId());
    Assertions.assertEquals(1, vo.getId().intValue());
    Assertions.assertEquals(2, vo.getSubscriptions().size());
    // Check the statuses and their order by node
    final List<SubscriptionVo> subscriptionsVo = vo.getSubscriptions();
    Assertions.assertNull(subscriptionsVo.get(0).getStatus());
    Assertions.assertEquals("service:n1", subscriptionsVo.get(0).getNode().getId());
    Assertions.assertEquals(NodeStatus.UP, subscriptionsVo.get(1).getStatus());
    Assertions.assertEquals("service:n2", subscriptionsVo.get(1).getNode().getId());
}
Also used : ParameterValue(org.ligoj.app.model.ParameterValue) HashMap(java.util.HashMap) Node(org.ligoj.app.model.Node) ArrayList(java.util.ArrayList) IUserRepository(org.ligoj.app.iam.IUserRepository) IamProvider(org.ligoj.app.iam.IamProvider) Date(java.util.Date) Project(org.ligoj.app.model.Project) Parameter(org.ligoj.app.model.Parameter) IamConfiguration(org.ligoj.app.iam.IamConfiguration) Subscription(org.ligoj.app.model.Subscription) SubscriptionVo(org.ligoj.app.resource.subscription.SubscriptionVo) NodeVo(org.ligoj.app.api.NodeVo) EventVo(org.ligoj.app.resource.node.EventVo) Test(org.junit.jupiter.api.Test)

Aggregations

NodeVo (org.ligoj.app.api.NodeVo)16 Test (org.junit.jupiter.api.Test)10 AbstractAppTest (org.ligoj.app.AbstractAppTest)9 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Node (org.ligoj.app.model.Node)2 Parameter (org.ligoj.app.model.Parameter)2 ParameterValue (org.ligoj.app.model.ParameterValue)2 Subscription (org.ligoj.app.model.Subscription)2 SubscriptionVo (org.ligoj.app.resource.subscription.SubscriptionVo)2 Collection (java.util.Collection)1 Date (java.util.Date)1 List (java.util.List)1 Map (java.util.Map)1 Entry (java.util.Map.Entry)1 Optional (java.util.Optional)1 BiFunction (java.util.function.BiFunction)1 Function (java.util.function.Function)1 Collectors (java.util.stream.Collectors)1 CacheRemoveAll (javax.cache.annotation.CacheRemoveAll)1