#124 - Added sample for Querydsl integration.

Move web project to web/example and add web/querydsl as a dedicated one demonstrating the QueryDSL Predicate usage in Spring MVC.
This commit is contained in:
Christoph Strobl
2015-07-20 16:12:27 +02:00
committed by Oliver Gierke
parent a999bed747
commit 97eefb0afc
32 changed files with 3159 additions and 57 deletions

View File

@@ -0,0 +1,31 @@
/*
* Copyright 2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package example.users;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import example.Application;
/**
* Integration tests to bootstrap the application.
*
* @author Oliver Gierke
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = Application.class)
public abstract class AbstractIntegrationTests {}

View File

@@ -0,0 +1,43 @@
/*
* Copyright 2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package example.users;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
/**
* Integration tests for {@link UserManagement}.
*
* @author Oliver Gierke
*/
public class UserManagementIntegrationTests extends AbstractIntegrationTests {
@Autowired UserManagement userManagement;
/**
* @see #65
*/
@Test
public void encryptsPasswordWhenCreatingAUser() {
User user = userManagement.register(new Username("olivergierke"), Password.raw("foobar"));
assertThat(user.getPassword().isEncrypted(), is(true));
}
}

View File

@@ -0,0 +1,38 @@
/*
* Copyright 2015 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package example.users;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.InvalidDataAccessApiUsageException;
/**
* Integration tests for {@link UserRepository}.
*
* @author Oliver Gierke
*/
public class UserRepositoryIntegrationTests extends AbstractIntegrationTests {
@Autowired UserRepository users;
/**
* @see #65
*/
@Test(expected = InvalidDataAccessApiUsageException.class)
public void repositoryRejectsUnencryptedPassword() {
users.save(new User(new Username("olivergierke"), Password.raw("foobar")));
}
}