junit for notifications
This commit is contained in:
parent
dbc43a5ed9
commit
8e1994d596
|
@ -0,0 +1,115 @@
|
||||||
|
package org.gcube.portal.databook.server;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.gcube.portal.databook.shared.NotificationChannelType;
|
||||||
|
import org.gcube.portal.databook.shared.NotificationType;
|
||||||
|
import org.gcube.portal.databook.shared.ex.NotificationChannelTypeNotFoundException;
|
||||||
|
import org.gcube.portal.databook.shared.ex.NotificationTypeNotFoundException;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.datastax.oss.driver.api.core.CqlSession;
|
||||||
|
import com.datastax.oss.driver.api.core.cql.ResultSet;
|
||||||
|
import com.datastax.oss.driver.api.core.cql.Row;
|
||||||
|
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
|
||||||
|
import com.datastax.oss.driver.api.querybuilder.QueryBuilder;
|
||||||
|
import com.datastax.oss.driver.api.querybuilder.delete.Delete;
|
||||||
|
import com.datastax.oss.driver.api.querybuilder.select.Select;
|
||||||
|
|
||||||
|
public class NotificationsTest extends BaseDbTest {
|
||||||
|
|
||||||
|
protected String userId = "alfredo.oliviero";
|
||||||
|
// protected String userId = "alina.sirbu";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void baseQuery() throws Exception {
|
||||||
|
CqlSession session = getConnection().getKeyspaceSession();
|
||||||
|
|
||||||
|
SimpleStatement test_count = SimpleStatement.builder(
|
||||||
|
"select * from vretimeline limit 1")
|
||||||
|
// .addPositionalValues(set_read, userId, UUID.fromString(messageId))
|
||||||
|
.build();
|
||||||
|
|
||||||
|
ResultSet result = session.execute(test_count);
|
||||||
|
List<Row> all = result.all();
|
||||||
|
org.junit.Assert.assertTrue(all.size() == 1);
|
||||||
|
|
||||||
|
// _log.info("baseTest found {}", all.get(0));
|
||||||
|
System.out.print("baseTest found" + all.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void preferencesNotificatonsConfig()
|
||||||
|
throws NotificationTypeNotFoundException, NotificationChannelTypeNotFoundException, Exception {
|
||||||
|
Map<NotificationType, NotificationChannelType[]> preferences = getStore()
|
||||||
|
.getUserNotificationPreferences(userId);
|
||||||
|
|
||||||
|
for (NotificationType type : preferences.keySet()) {
|
||||||
|
System.out.println("## preferences type " + type);
|
||||||
|
for (NotificationChannelType channelType : preferences.get(type)) {
|
||||||
|
System.out.println("## -- " + channelType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void prefNotificatonChannels()
|
||||||
|
throws NotificationChannelTypeNotFoundException, NotificationTypeNotFoundException, Exception {
|
||||||
|
List<NotificationChannelType> channels = getStore().getUserNotificationChannels(userId,
|
||||||
|
NotificationType.CAT_ITEM_PUBLISHED);
|
||||||
|
for (NotificationChannelType channel : channels) {
|
||||||
|
System.out.println("## -- " + channel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getCatPreferencesQuery() throws Exception {
|
||||||
|
Select select = QueryBuilder.selectFrom(Schema.USER_NOTIFICATIONS_PREFERENCES)
|
||||||
|
.all()
|
||||||
|
.whereColumn("userid").isEqualTo(QueryBuilder.literal(userId))
|
||||||
|
.whereColumn("type").in(
|
||||||
|
// QueryBuilder.literal("WP_ITEM_NEW"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_DELETE"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_PUBLISHED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_REJECTED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_SUBMITTED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_UPDATED"));
|
||||||
|
|
||||||
|
SimpleStatement statement = select.build();
|
||||||
|
CqlSession session = getConnection().getKeyspaceSession();
|
||||||
|
ResultSet resultSet = session.execute(statement);
|
||||||
|
|
||||||
|
for (Row row : resultSet) {
|
||||||
|
// Supponendo che la tua tabella abbia colonne "userid", "type", e altre
|
||||||
|
String userId = row.getString("userid");
|
||||||
|
String type = row.getString("type");
|
||||||
|
|
||||||
|
// Stampa i valori delle colonne
|
||||||
|
System.out.println("UserId: " + userId + ", Type: " + type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void deleteCatPreferencesQuery() throws Exception {
|
||||||
|
Delete delete = QueryBuilder.deleteFrom(Schema.USER_NOTIFICATIONS_PREFERENCES)
|
||||||
|
.whereColumn("userid").isEqualTo(QueryBuilder.literal(userId))
|
||||||
|
.whereColumn("type").in(
|
||||||
|
QueryBuilder.literal("CAT_ITEM_DELETE"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_PUBLISHED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_REJECTED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_SUBMITTED"),
|
||||||
|
QueryBuilder.literal("CAT_ITEM_UPDATED"));
|
||||||
|
|
||||||
|
SimpleStatement statement = delete.build();
|
||||||
|
CqlSession session = getConnection().getKeyspaceSession();
|
||||||
|
ResultSet resultSet = session.execute(statement);
|
||||||
|
|
||||||
|
for (Row row : resultSet) {
|
||||||
|
// Stampa i valori delle colonne
|
||||||
|
System.out.println(row.getFormattedContents());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue