Skip to content

Commit

Permalink
add api nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
alfonsobries committed Jul 2, 2024
1 parent cec7974 commit c0d9259
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/integration/java/org/arkecosystem/client/api/ApiNodesTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package org.arkecosystem.client.api;

import org.arkecosystem.client.BaseClientTest;
import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.util.Map;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.hasKey;

@SuppressWarnings("unchecked")
public class ApiNodesIntegrationTest extends BaseClientTest {

@Test
void all() throws IOException {
Map<String, Object> actual = connection.api().apiNodes.all();
assertThat(actual, hasKey("data"));
assertThat(actual, hasKey("meta"));
}

@Test
void allWithParams() throws IOException {
Map<String, Object> actual =
connection.api().apiNodes.param("page", 1).param("limit", 100).all();
assertThat(actual, hasKey("data"));
assertThat(actual, hasKey("meta"));
}
}
2 changes: 2 additions & 0 deletions src/main/java/org/arkecosystem/client/api/Api.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class Api {
public final Transactions transactions;
public final Votes votes;
public final Wallets wallets;
public final ApiNodes apiNodes;

public Api(Client client) {
this.blockchain = new Blockchain(client);
Expand All @@ -26,5 +27,6 @@ public Api(Client client) {
this.transactions = new Transactions(client);
this.votes = new Votes(client);
this.wallets = new Wallets(client);
this.apiNodes = new ApiNodes(client);
}
}
26 changes: 26 additions & 0 deletions src/main/java/org/arkecosystem/client/api/ApiNodes.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package org.arkecosystem.client.api;

import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
import org.arkecosystem.client.http.Client;

public class ApiNodes implements SupportsParams<ApiNodes> {
private final Client client;

private final Map<String, Object> params = new LinkedHashMap<>();

public ApiNodes(Client client) {
this.client = client;
}

@Override
public ApiNodes param(String name, Object value) {
params.put(name, value);
return this;
}

public Map<String, Object> all() throws IOException {
return this.client.get("api-nodes", params);
}
}
27 changes: 27 additions & 0 deletions src/test/java/org/arkecosystem/client/api/ApiNodesTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.arkecosystem.client.api;

import static org.junit.jupiter.api.Assertions.assertTrue;

import java.io.IOException;
import java.util.Map;
import org.arkecosystem.client.Connection;
import org.arkecosystem.client.MockHelper;
import org.junit.jupiter.api.Test;

public class ApiNodesTest {

@Test
void all() throws IOException {
Connection connection = MockHelper.connection();
Map<String, Object> actual = connection.api().apiNodes.all();
assertTrue((boolean) actual.get("success"));
}

@Test
void allWithParams() throws IOException {
Connection connection = MockHelper.connection();
Map<String, Object> actual =
connection.api().apiNodes.param("page", 1).param("limit", 100).all();
assertTrue((boolean) actual.get("success"));
}
}

0 comments on commit c0d9259

Please sign in to comment.