Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,12 @@
<artifactId>wiremock</artifactId>
<version>${wiremock.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
Expand All @@ -177,8 +183,6 @@
<artifactId>logback-classic</artifactId>
<version>${logback-classic.version}</version>
</dependency>


</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ public Request createDeleteRequest(String url, Map<String, Object> params, Strin
}

Request request = new Request.Builder().url(httpBuilder.build()).delete().header("User-Agent", USER_AGENT)
.header("X-Smart API-Version", "3").header("Authorization", "token " + apiKey + ":" + accessToken)
.header("X-SmartAPI-Version", "3").header("Authorization", "token " + apiKey + ":" + accessToken)
.build();
return request;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.angelbroking.smartapi.models.User;

public class LoginWithTOTPSample {

public static void main(String[] args) {
String clientID = System.getProperty("clientID");
String clientPass = System.getProperty("clientPass");
Expand Down
184 changes: 92 additions & 92 deletions src/main/java/com/angelbroking/smartapi/sample/Test.java
Original file line number Diff line number Diff line change
@@ -1,125 +1,125 @@
package com.angelbroking.smartapi.sample;
package com.angelbroking.smartapi.sample;

import com.angelbroking.smartapi.SmartConnect;
import com.angelbroking.smartapi.http.exceptions.SmartAPIException;
import com.angelbroking.smartapi.models.User;
import com.angelbroking.smartapi.SmartConnect;
import com.angelbroking.smartapi.http.exceptions.SmartAPIException;
import com.angelbroking.smartapi.models.User;

public class Test {
public class Test {

public static void main(String[] args) throws SmartAPIException {
try {
public static void main(String[] args) throws SmartAPIException {
try {

SmartConnect smartConnect = new SmartConnect("<api_key>"); // PROVIDE YOUR API KEY HERE
SmartConnect smartConnect = new SmartConnect("<api_key>"); // PROVIDE YOUR API KEY HERE

/*
* OPTIONAL - ACCESS_TOKEN AND REFRESH TOKEN SmartConnect smartConnect = new
* SmartConnect("<api_key>", "<YOUR_ACCESS_TOKEN>", "<YOUR_REFRESH_TOKEN>");
*/
/*
* OPTIONAL - ACCESS_TOKEN AND REFRESH TOKEN SmartConnect smartConnect = new
* SmartConnect("<api_key>", "<YOUR_ACCESS_TOKEN>", "<YOUR_REFRESH_TOKEN>");
*/

/*
* Set session expiry callback. smartConnect.setSessionExpiryHook(new
* SessionExpiryHook() {
*
* @Override public void sessionExpired() {
* System.out.println("session expired"); } });
*
* User user = smartConnect.generateSession("<clientId>", "<password>");
* smartConnect.setAccessToken(user.getAccessToken());
* smartConnect.setUserId(user.getUserId());
*
* /* token re-generate
*/
/*
* TokenSet tokenSet = smartConnect.renewAccessToken(user.getAccessToken(),
* user.getRefreshToken());
* smartConnect.setAccessToken(tokenSet.getAccessToken());
*/
/*
* Set session expiry callback. smartConnect.setSessionExpiryHook(new
* SessionExpiryHook() {
*
* @Override public void sessionExpired() {
* System.out.println("session expired"); } });
*
* User user = smartConnect.generateSession("<clientId>", "<password>");
* smartConnect.setAccessToken(user.getAccessToken());
* smartConnect.setUserId(user.getUserId());
*
* /* token re-generate
*/
/*
* TokenSet tokenSet = smartConnect.renewAccessToken(user.getAccessToken(),
* user.getRefreshToken());
* smartConnect.setAccessToken(tokenSet.getAccessToken());
*/

Examples examples = new Examples();
/* System.out.println("getProfile"); */
examples.getProfile(smartConnect);
Examples examples = new Examples();
/* System.out.println("getProfile"); */
examples.getProfile(smartConnect);

/* System.out.println("placeOrder"); */
examples.placeOrder(smartConnect);
/* System.out.println("placeOrder"); */
examples.placeOrder(smartConnect);

/* System.out.println("modifyOrder"); */
examples.modifyOrder(smartConnect);
/* System.out.println("modifyOrder"); */
examples.modifyOrder(smartConnect);

/* System.out.println("cancelOrder"); */
examples.cancelOrder(smartConnect);
/* System.out.println("cancelOrder"); */
examples.cancelOrder(smartConnect);

/* System.out.println("getOrder"); */
examples.getOrder(smartConnect);
/* System.out.println("getOrder"); */
examples.getOrder(smartConnect);

/* System.out.println("getLTP"); */
examples.getLTP(smartConnect);
/* System.out.println("getLTP"); */
examples.getLTP(smartConnect);

/* System.out.println("getTrades"); */
examples.getTrades(smartConnect);
/* System.out.println("getTrades"); */
examples.getTrades(smartConnect);

/* System.out.println("getRMS"); */
examples.getRMS(smartConnect);
/* System.out.println("getRMS"); */
examples.getRMS(smartConnect);

/* System.out.println("getHolding"); */
examples.getHolding(smartConnect);
/* System.out.println("getHolding"); */
examples.getHolding(smartConnect);

/* System.out.println("getPosition"); */
examples.getPosition(smartConnect);
/* System.out.println("getPosition"); */
examples.getPosition(smartConnect);

/* System.out.println("convertPosition"); */
examples.convertPosition(smartConnect);
/* System.out.println("convertPosition"); */
examples.convertPosition(smartConnect);

/* System.out.println("createRule"); */
examples.createRule(smartConnect);
/* System.out.println("createRule"); */
examples.createRule(smartConnect);

/* System.out.println("ModifyRule"); */
examples.modifyRule(smartConnect);
/* System.out.println("ModifyRule"); */
examples.modifyRule(smartConnect);

/* System.out.println("cancelRule"); */
examples.cancelRule(smartConnect);
/* System.out.println("cancelRule"); */
examples.cancelRule(smartConnect);

/* System.out.println("Rule Details"); */
examples.ruleDetails(smartConnect);
/* System.out.println("Rule Details"); */
examples.ruleDetails(smartConnect);

/* System.out.println("Rule List"); */
examples.ruleList(smartConnect);
/* System.out.println("Rule List"); */
examples.ruleList(smartConnect);

/* System.out.println("Historic candle Data"); */
examples.getCandleData(smartConnect);
/* System.out.println("Historic candle Data"); */
examples.getCandleData(smartConnect);


/* System.out.println("Search script api"); */
examples.getSearchScrip(smartConnect);
/* System.out.println("Search script api"); */
examples.getSearchScrip(smartConnect);

/* System.out.println("Market Data"); */
examples.getMarketData(smartConnect);
/* System.out.println("Market Data"); */
examples.getMarketData(smartConnect);


/* System.out.println("logout"); */
examples.logout(smartConnect);
/* System.out.println("logout"); */
examples.logout(smartConnect);

/* SmartAPITicker */
String clientId = "<clientId>";
User user = smartConnect.generateSession("<clientId>", "<password>", "<totp>");
String feedToken = user.getFeedToken();
String strWatchListScript = "nse_cm|2885&nse_cm|1594&nse_cm|11536&mcx_fo|221658";
String task = "mw";
/* SmartAPITicker */
String clientId = "<clientId>";
User user = smartConnect.generateSession("<clientId>", "<password>", "<totp>");
String feedToken = user.getFeedToken();
String strWatchListScript = "nse_cm|2885&nse_cm|1594&nse_cm|11536&mcx_fo|221658";
String task = "mw";

examples.tickerUsage(clientId, feedToken, strWatchListScript, task);
examples.tickerUsage(clientId, feedToken, strWatchListScript, task);

/*
* String jwtToken = user.getAccessToken(); String apiKey = "smartapi_key";
* String actionType = "subscribe"; String feedType = "order_feed";
*
* examples.smartWebSocketUsage(clientId, jwtToken, apiKey, actionType,
* feedType);
*
*/
/*
* String jwtToken = user.getAccessToken(); String apiKey = "smartapi_key";
* String actionType = "subscribe"; String feedType = "order_feed";
*
* examples.smartWebSocketUsage(clientId, jwtToken, apiKey, actionType,
* feedType);
*
*/

} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
e.printStackTrace();
}
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
e.printStackTrace();
}

}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
package com.angelbroking.smartapi.exceptions;

import com.angelbroking.smartapi.http.exceptions.*;
import com.angelbroking.smartapi.smartstream.models.SmartStreamError;
import org.junit.jupiter.api.Test;

import static org.junit.Assert.assertEquals;

public class ExceptionTests {
@Test
public void testDataException() {

String message = "Test Message";
String code = "Test Code";
DataException exception = new DataException(message, code);
assertEquals(message, exception.message);
assertEquals(code, exception.code);
}

@Test
public void testGeneralException() {

String message = "Test Message";
String code = "123";
GeneralException exception = new GeneralException(message, code);

assertEquals(message, exception.message);
assertEquals(code, exception.code);
}

@Test
public void testInputException() {

InputException exception = new InputException("Test message", "Test code");
assertEquals("Test message", exception.message);
assertEquals("Test code", exception.code);
}

@Test
public void testNetworkException() {

NetworkException exception = new NetworkException("Test message", "Test code");
assertEquals("Test message", exception.message);
assertEquals("Test code", exception.code);
}

@Test
public void testOrderException() {

OrderException exception = new OrderException("Test message", "Test code");
assertEquals("Test message", exception.message);
assertEquals("Test code", exception.code);
}

@Test
public void testPermissionException() {

PermissionException exception = new PermissionException("Test message", "Test code");
assertEquals("Test message", exception.message);
assertEquals("Test code", exception.code);
}

@Test
public void testTokenException() {

String message = "Test message";
String code = "123";
TokenException tokenException = new TokenException(message, code);
assertEquals(message, tokenException.message);
assertEquals(code, tokenException.code);
}

@Test
public void testApiKeyException() {

String message = "Invalid API Key";
String code = "123";
ApiKeyException exception = new ApiKeyException(message, code);
assertEquals(message, exception.message);
assertEquals(code, exception.code);
}

@Test
public void testSmartStreamError() {

Throwable exception = new Throwable("Test Exception");
SmartStreamError smartStreamError = new SmartStreamError();
smartStreamError.setException(exception);
assertEquals(exception, smartStreamError.getException());
}
}
Loading