Search in sources :

Example 1 with StatefulRedisConnection

use of io.lettuce.core.api.StatefulRedisConnection in project ratelimitj by mokies.

the class RateLimitApplication method run.

@Override
public void run(Configuration configuration, Environment environment) {
    environment.jersey().register(new LoginResource());
    environment.jersey().register(new UserResource());
    environment.jersey().register(new TrekResource());
    environment.jersey().register(new AuthDynamicFeature(new OAuthCredentialAuthFilter.Builder<PrincipalImpl>().setAuthenticator(new TestOAuthAuthenticator()).setPrefix("Bearer").buildAuthFilter()));
    environment.jersey().register(RolesAllowedDynamicFeature.class);
    environment.jersey().register(new AuthValueFactoryProvider.Binder<>(PrincipalImpl.class));
    // TODO move this cleanup into the tests
    environment.lifecycle().manage(new Managed() {

        @Override
        public void start() {
        }

        @Override
        public void stop() {
            flushRedis();
        }

        private void flushRedis() {
            try (StatefulRedisConnection<String, String> connection = redisClient.connect()) {
                connection.sync().flushdb();
            }
            redisClient.shutdownAsync();
        }
    });
}
Also used : UserResource(es.moki.ratelimij.dropwizard.component.app.api.UserResource) TestOAuthAuthenticator(es.moki.ratelimij.dropwizard.component.app.auth.TestOAuthAuthenticator) AuthValueFactoryProvider(io.dropwizard.auth.AuthValueFactoryProvider) LoginResource(es.moki.ratelimij.dropwizard.component.app.api.LoginResource) TrekResource(es.moki.ratelimij.dropwizard.component.app.api.TrekResource) StatefulRedisConnection(io.lettuce.core.api.StatefulRedisConnection) OAuthCredentialAuthFilter(io.dropwizard.auth.oauth.OAuthCredentialAuthFilter) AuthDynamicFeature(io.dropwizard.auth.AuthDynamicFeature) PrincipalImpl(io.dropwizard.auth.PrincipalImpl) Managed(io.dropwizard.lifecycle.Managed)

Example 2 with StatefulRedisConnection

use of io.lettuce.core.api.StatefulRedisConnection in project jetcache by alibaba.

the class RedisLettuceCacheFailTest method setup.

@BeforeEach
public void setup() {
    client = mock(RedisClient.class);
    StatefulRedisConnection connection = mock(StatefulRedisConnection.class);
    asyncCommands = mock(RedisAsyncCommands.class);
    when(client.connect((JetCacheCodec) any())).thenReturn(connection);
    when(connection.sync()).thenReturn(null);
    when(connection.async()).thenReturn(asyncCommands);
    cache = RedisLettuceCacheBuilder.createRedisLettuceCacheBuilder().redisClient(client).keyPrefix("fail_test").buildCache();
}
Also used : RedisClient(io.lettuce.core.RedisClient) RedisAsyncCommands(io.lettuce.core.api.async.RedisAsyncCommands) StatefulRedisConnection(io.lettuce.core.api.StatefulRedisConnection) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 3 with StatefulRedisConnection

use of io.lettuce.core.api.StatefulRedisConnection in project jetcache by alibaba.

the class RedisLettuceStarterTest method tests.

@Test
public void tests() throws Exception {
    if (RedisLettuceCacheTest.checkOS()) {
        System.setProperty("spring.profiles.active", "redislettuce-cluster");
    } else {
        System.setProperty("spring.profiles.active", "redislettuce");
    }
    context = SpringApplication.run(RedisLettuceStarterTest.class);
    doTest();
    A bean = context.getBean(A.class);
    bean.test();
    RedisClient t1 = (RedisClient) context.getBean("defaultClient");
    RedisClient t2 = (RedisClient) context.getBean("a1Client");
    Assert.assertNotNull(t1);
    Assert.assertNotNull(t2);
    Assert.assertNotSame(t1, t2);
    AutoConfigureBeans acb = context.getBean(AutoConfigureBeans.class);
    String key = "remote.A1";
    Assert.assertTrue(new LettuceFactory(acb, key, StatefulRedisConnection.class).getObject() instanceof StatefulRedisConnection);
    Assert.assertTrue(new LettuceFactory(acb, key, RedisCommands.class).getObject() instanceof RedisCommands);
    Assert.assertTrue(new LettuceFactory(acb, key, RedisAsyncCommands.class).getObject() instanceof RedisAsyncCommands);
    Assert.assertTrue(new LettuceFactory(acb, key, RedisReactiveCommands.class).getObject() instanceof RedisReactiveCommands);
    if (RedisLettuceCacheTest.checkOS()) {
        key = "remote.A2";
        Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterClient.class).getObject() instanceof RedisClusterClient);
        Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterCommands.class).getObject() instanceof RedisClusterCommands);
        Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterAsyncCommands.class).getObject() instanceof RedisClusterAsyncCommands);
        Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterReactiveCommands.class).getObject() instanceof RedisClusterReactiveCommands);
        key = "remote.A2_slave";
        Assert.assertTrue(new LettuceFactory(acb, key, RedisClusterClient.class).getObject() instanceof RedisClusterClient);
    }
}
Also used : RedisClusterCommands(io.lettuce.core.cluster.api.sync.RedisClusterCommands) StatefulRedisConnection(io.lettuce.core.api.StatefulRedisConnection) RedisClusterAsyncCommands(io.lettuce.core.cluster.api.async.RedisClusterAsyncCommands) RedisClient(io.lettuce.core.RedisClient) RedisCommands(io.lettuce.core.api.sync.RedisCommands) RedisAsyncCommands(io.lettuce.core.api.async.RedisAsyncCommands) RedisClusterReactiveCommands(io.lettuce.core.cluster.api.reactive.RedisClusterReactiveCommands) RedisClusterClient(io.lettuce.core.cluster.RedisClusterClient) RedisReactiveCommands(io.lettuce.core.api.reactive.RedisReactiveCommands) SpringTest(com.alicp.jetcache.test.spring.SpringTest) RedisLettuceCacheTest(com.alicp.jetcache.redis.lettuce.RedisLettuceCacheTest) Test(org.junit.Test)

Aggregations

StatefulRedisConnection (io.lettuce.core.api.StatefulRedisConnection)3 RedisClient (io.lettuce.core.RedisClient)2 RedisAsyncCommands (io.lettuce.core.api.async.RedisAsyncCommands)2 RedisLettuceCacheTest (com.alicp.jetcache.redis.lettuce.RedisLettuceCacheTest)1 SpringTest (com.alicp.jetcache.test.spring.SpringTest)1 LoginResource (es.moki.ratelimij.dropwizard.component.app.api.LoginResource)1 TrekResource (es.moki.ratelimij.dropwizard.component.app.api.TrekResource)1 UserResource (es.moki.ratelimij.dropwizard.component.app.api.UserResource)1 TestOAuthAuthenticator (es.moki.ratelimij.dropwizard.component.app.auth.TestOAuthAuthenticator)1 AuthDynamicFeature (io.dropwizard.auth.AuthDynamicFeature)1 AuthValueFactoryProvider (io.dropwizard.auth.AuthValueFactoryProvider)1 PrincipalImpl (io.dropwizard.auth.PrincipalImpl)1 OAuthCredentialAuthFilter (io.dropwizard.auth.oauth.OAuthCredentialAuthFilter)1 Managed (io.dropwizard.lifecycle.Managed)1 RedisReactiveCommands (io.lettuce.core.api.reactive.RedisReactiveCommands)1 RedisCommands (io.lettuce.core.api.sync.RedisCommands)1 RedisClusterClient (io.lettuce.core.cluster.RedisClusterClient)1 RedisClusterAsyncCommands (io.lettuce.core.cluster.api.async.RedisClusterAsyncCommands)1 RedisClusterReactiveCommands (io.lettuce.core.cluster.api.reactive.RedisClusterReactiveCommands)1 RedisClusterCommands (io.lettuce.core.cluster.api.sync.RedisClusterCommands)1