работает вроде все, кроме тестов
This commit is contained in:
parent
1713a0be9a
commit
19481483e6
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -1,3 +1,4 @@
|
||||
{
|
||||
"java.configuration.updateBuildConfiguration": "automatic"
|
||||
"java.configuration.updateBuildConfiguration": "automatic",
|
||||
"java.debug.settings.onBuildFailureProceed": true
|
||||
}
|
BIN
backend/data.mv.db
Normal file
BIN
backend/data.mv.db
Normal file
Binary file not shown.
423
backend/data.trace.db
Normal file
423
backend/data.trace.db
Normal file
@ -0,0 +1,423 @@
|
||||
2024-04-15 17:50:52.581212+04:00 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLNonTransientException: GeneralError; SQL statement:
|
||||
create table viewes (id integer not null, movie_id integer not null, user_id integer not null, primary key (id)) [50000-224]
|
||||
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
|
||||
at org.h2.message.DbException.addSQL(DbException.java:177)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:272)
|
||||
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262)
|
||||
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231)
|
||||
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94)
|
||||
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
|
||||
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createTables(SchemaCreatorImpl.java:420)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createSequencesTablesConstraints(SchemaCreatorImpl.java:340)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:239)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145)
|
||||
at java.base/java.util.HashMap.forEach(HashMap.java:1421)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:142)
|
||||
at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37)
|
||||
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
|
||||
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315)
|
||||
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:450)
|
||||
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1507)
|
||||
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
|
||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
|
||||
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234)
|
||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952)
|
||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
|
||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
|
||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
|
||||
at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152)
|
||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130)
|
||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260)
|
||||
at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378)
|
||||
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
|
||||
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
|
||||
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
|
||||
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
|
||||
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
|
||||
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
|
||||
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279)
|
||||
at java.base/java.util.Optional.orElseGet(Optional.java:364)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278)
|
||||
at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
|
||||
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
|
||||
at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
|
||||
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
|
||||
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
|
||||
Caused by: java.sql.SQLException: GeneralError
|
||||
at org.h2.message.DbException.convert(DbException.java:412)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:268)
|
||||
... 122 more
|
||||
Caused by: java.lang.AssertionError
|
||||
at org.h2.engine.Database.addMeta(Database.java:737)
|
||||
at org.h2.engine.Database.addSchemaObject(Database.java:915)
|
||||
at org.h2.command.ddl.CreateTable.update(CreateTable.java:125)
|
||||
at org.h2.command.CommandContainer.update(CommandContainer.java:169)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:256)
|
||||
... 122 more
|
||||
2024-04-15 17:50:52.598211+04:00 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLNonTransientException: GeneralError; SQL statement:
|
||||
alter table if exists favorites add constraint FKpbtimrfu4b5fna6esnqfj0e3y foreign key (movie_id) references movies [50000-224]
|
||||
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
|
||||
at org.h2.message.DbException.addSQL(DbException.java:177)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:272)
|
||||
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262)
|
||||
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231)
|
||||
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94)
|
||||
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
|
||||
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createForeignKeys(SchemaCreatorImpl.java:303)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:250)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145)
|
||||
at java.base/java.util.HashMap.forEach(HashMap.java:1421)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:142)
|
||||
at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37)
|
||||
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
|
||||
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315)
|
||||
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:450)
|
||||
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1507)
|
||||
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
|
||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
|
||||
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234)
|
||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952)
|
||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
|
||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
|
||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
|
||||
at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152)
|
||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130)
|
||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260)
|
||||
at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378)
|
||||
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
|
||||
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
|
||||
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
|
||||
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
|
||||
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
|
||||
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
|
||||
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279)
|
||||
at java.base/java.util.Optional.orElseGet(Optional.java:364)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278)
|
||||
at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
|
||||
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
|
||||
at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
|
||||
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
|
||||
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
|
||||
Caused by: java.sql.SQLException: GeneralError
|
||||
at org.h2.message.DbException.convert(DbException.java:412)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:268)
|
||||
... 121 more
|
||||
Caused by: java.lang.AssertionError
|
||||
at org.h2.engine.Database.addMeta(Database.java:737)
|
||||
at org.h2.engine.Database.addSchemaObject(Database.java:915)
|
||||
at org.h2.mvstore.db.MVTable.addIndex(MVTable.java:375)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.createIndex(AlterTableAddConstraint.java:368)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:269)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:74)
|
||||
at org.h2.command.ddl.AlterTable.update(AlterTable.java:46)
|
||||
at org.h2.command.CommandContainer.update(CommandContainer.java:169)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:256)
|
||||
... 121 more
|
||||
2024-04-15 17:50:52.604213+04:00 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLNonTransientException: GeneralError; SQL statement:
|
||||
alter table if exists favorites add constraint FKk7du8b8ewipawnnpg76d55fus foreign key (user_id) references users [50000-224]
|
||||
at org.h2.message.DbException.getJdbcSQLException(DbException.java:566)
|
||||
at org.h2.message.DbException.addSQL(DbException.java:177)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:272)
|
||||
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:262)
|
||||
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:231)
|
||||
at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:94)
|
||||
at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java)
|
||||
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:80)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233)
|
||||
at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createForeignKeys(SchemaCreatorImpl.java:303)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:250)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142)
|
||||
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145)
|
||||
at java.base/java.util.HashMap.forEach(HashMap.java:1421)
|
||||
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:142)
|
||||
at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37)
|
||||
at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
|
||||
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:315)
|
||||
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:450)
|
||||
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1507)
|
||||
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:75)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:390)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409)
|
||||
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396)
|
||||
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:366)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1833)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600)
|
||||
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326)
|
||||
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324)
|
||||
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
|
||||
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1234)
|
||||
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:952)
|
||||
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
|
||||
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
|
||||
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
|
||||
at org.springframework.boot.SpringApplication.run(SpringApplication.java:334)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3(SpringBootContextLoader.java:137)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:58)
|
||||
at org.springframework.util.function.ThrowingSupplier.get(ThrowingSupplier.java:46)
|
||||
at org.springframework.boot.SpringApplication.withHook(SpringApplication.java:1454)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run(SpringBootContextLoader.java:553)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:137)
|
||||
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:108)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:225)
|
||||
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:152)
|
||||
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:130)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:191)
|
||||
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:130)
|
||||
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260)
|
||||
at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:163)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10(ClassBasedTestDescriptor.java:378)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:383)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11(ClassBasedTestDescriptor.java:378)
|
||||
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
|
||||
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
|
||||
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
|
||||
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
|
||||
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
|
||||
at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
|
||||
at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
|
||||
at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:377)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:290)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:289)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:279)
|
||||
at java.base/java.util.Optional.orElseGet(Optional.java:364)
|
||||
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:278)
|
||||
at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105)
|
||||
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
|
||||
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
|
||||
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
|
||||
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
|
||||
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
|
||||
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
|
||||
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
|
||||
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:95)
|
||||
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:91)
|
||||
at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:60)
|
||||
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:98)
|
||||
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:757)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
|
||||
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
|
||||
Caused by: java.sql.SQLException: GeneralError
|
||||
at org.h2.message.DbException.convert(DbException.java:412)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:268)
|
||||
... 121 more
|
||||
Caused by: java.lang.AssertionError
|
||||
at org.h2.engine.Database.addMeta(Database.java:737)
|
||||
at org.h2.engine.Database.addSchemaObject(Database.java:915)
|
||||
at org.h2.mvstore.db.MVTable.addIndex(MVTable.java:375)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.createIndex(AlterTableAddConstraint.java:368)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.tryUpdate(AlterTableAddConstraint.java:269)
|
||||
at org.h2.command.ddl.AlterTableAddConstraint.update(AlterTableAddConstraint.java:74)
|
||||
at org.h2.command.ddl.AlterTable.update(AlterTable.java:46)
|
||||
at org.h2.command.CommandContainer.update(CommandContainer.java:169)
|
||||
at org.h2.command.Command.executeUpdate(Command.java:256)
|
||||
... 121 more
|
@ -12,7 +12,7 @@ import jakarta.persistence.Table;
|
||||
@Table(name = "categories")
|
||||
public class CategorieEntity extends BaseEntity {
|
||||
|
||||
@Column(nullable = false, unique = true, length = 15)
|
||||
@Column(nullable = false, unique = true, length = 50)
|
||||
private String name;
|
||||
|
||||
@Column(nullable = true)
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.example.backend.categories.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
@ -12,7 +11,6 @@ import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.categories.model.CategorieEntity;
|
||||
import com.example.backend.categories.repository.CategorieRepository;
|
||||
|
||||
|
||||
@Service
|
||||
public class CategorieService {
|
||||
|
||||
@ -39,14 +37,16 @@ public class CategorieService {
|
||||
return repository.findById(id).orElseThrow(() -> new NotFoundException(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public CategorieEntity create(CategorieEntity entity) {
|
||||
if(entity == null){
|
||||
if (entity == null) {
|
||||
throw new IllegalArgumentException("Сущность не найдена");
|
||||
}
|
||||
checkName(entity.getName());
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public CategorieEntity update(Integer id, CategorieEntity entity) {
|
||||
final CategorieEntity existsentity = get(id);
|
||||
existsentity.setName(entity.getName());
|
||||
@ -54,6 +54,7 @@ public class CategorieService {
|
||||
return repository.save(existsentity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public CategorieEntity delete(Integer id) {
|
||||
final CategorieEntity existsentity = get(id);
|
||||
repository.delete(existsentity);
|
||||
|
@ -0,0 +1,7 @@
|
||||
package com.example.backend.core.errors;
|
||||
|
||||
public class NullArgumentException extends RuntimeException {
|
||||
public NullArgumentException(Integer id) {
|
||||
super(String.format("В данной сущности нет объектов в айдишником <[%s]>", id));
|
||||
}
|
||||
}
|
@ -13,17 +13,16 @@ public abstract class BaseEntity {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = Constants.SEQUENCE_NAME)
|
||||
@SequenceGenerator(name = Constants.SEQUENCE_NAME, sequenceName = Constants.SEQUENCE_NAME, allocationSize = 1)
|
||||
protected Long id;
|
||||
protected Integer id;
|
||||
|
||||
protected BaseEntity() {
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
public Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
public void setId(Integer id) {
|
||||
this.id = id;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -55,8 +55,9 @@ public class FavoriteController {
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public FavoriteDto get(@PathVariable(name = "id") Integer id) {
|
||||
return toDto(favoriteService.get(id));
|
||||
public FavoriteDto get(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id) {
|
||||
return toDto(favoriteService.get(userId, id));
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@ -65,12 +66,15 @@ public class FavoriteController {
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public FavoriteDto update(@PathVariable(name = "id") Integer id, @RequestBody FavoriteDto dto) {
|
||||
return toDto(favoriteService.update(id, toEntity(dto)));
|
||||
public FavoriteDto update(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id,
|
||||
@RequestBody FavoriteDto dto) {
|
||||
return toDto(favoriteService.update(userId, id, toEntity(dto)));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public FavoriteDto delete(@PathVariable(name = "id") Integer id) {
|
||||
return toDto(favoriteService.delete(id));
|
||||
public FavoriteDto delete(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id) {
|
||||
return toDto(favoriteService.delete(userId, id));
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.example.backend.favorites.repository;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.List;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import com.example.backend.favorites.model.FavoriteEntity;
|
||||
|
||||
public interface FavoriteRepository extends CrudRepository<FavoriteEntity, Integer> {
|
||||
Optional<FavoriteEntity> findOneByUserIdAndId(long userId, long id);
|
||||
Optional<FavoriteEntity> findOneByMovieIdAndId(long movieId, long id);
|
||||
List<FavoriteEntity> findByUserId(Integer userId);
|
||||
|
||||
Optional<FavoriteEntity> findOneByUserIdAndId(Integer userId, Integer id);
|
||||
}
|
||||
|
@ -1,49 +1,54 @@
|
||||
package com.example.backend.favorites.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.favorites.model.FavoriteEntity;
|
||||
import com.example.backend.favorites.repository.FavoriteRepository;
|
||||
import com.example.backend.users.service.UserService;
|
||||
|
||||
@Service
|
||||
public class FavoriteService {
|
||||
private final FavoriteRepository repository;
|
||||
private final UserService userService;
|
||||
|
||||
public FavoriteService(FavoriteRepository repository) {
|
||||
public FavoriteService(FavoriteRepository repository, UserService userService) {
|
||||
this.repository = repository;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public List<FavoriteEntity> getAll(Integer userId) {
|
||||
if (Objects.equals(userId, 0)) {
|
||||
return repository.getAll();
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(item -> item.getUser().getId().equals(userId))
|
||||
.toList();
|
||||
userService.get(userId);
|
||||
return repository.findByUserId(userId);
|
||||
}
|
||||
|
||||
public FavoriteEntity get(Integer id) {
|
||||
return Optional.ofNullable(repository.get(id)).orElseThrow(() -> new NotFoundException(id));
|
||||
@Transactional(readOnly = true)
|
||||
public FavoriteEntity get(Integer userId, Integer id) {
|
||||
userService.get(userId);
|
||||
return repository.findOneByUserIdAndId(userId, id).orElseThrow(() -> new NotFoundException(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public FavoriteEntity create(FavoriteEntity entity) {
|
||||
return repository.create(entity);
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
public FavoriteEntity update(Integer id, FavoriteEntity entity) {
|
||||
final FavoriteEntity exisEntity = get(id);
|
||||
@Transactional
|
||||
public FavoriteEntity update(Integer userId, Integer id, FavoriteEntity entity) {
|
||||
final FavoriteEntity exisEntity = get(userId, id);
|
||||
exisEntity.setUser(entity.getUser());
|
||||
exisEntity.setMovie(entity.getMovie());
|
||||
return repository.update(exisEntity);
|
||||
return repository.save(exisEntity);
|
||||
}
|
||||
|
||||
public FavoriteEntity delete(Integer id) {
|
||||
final FavoriteEntity exisEntity = get(id);
|
||||
return repository.delete(exisEntity);
|
||||
@Transactional
|
||||
public FavoriteEntity delete(Integer userId, Integer id) {
|
||||
final FavoriteEntity exisEntity = get(userId, id);
|
||||
repository.delete(exisEntity);
|
||||
return exisEntity;
|
||||
}
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ public class MovieController {
|
||||
|
||||
@GetMapping("/countView")
|
||||
public Integer countView(@RequestParam(name = "movieId", defaultValue = "0") Integer movieId) {
|
||||
return movieService.countViews(movieId);
|
||||
return movieService.countView(movieId);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -8,14 +8,14 @@ import com.example.backend.core.model.BaseEntity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.JoinColumn;
|
||||
import jakarta.persistence.OneToMany;
|
||||
import jakarta.persistence.ManyToOne;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "movies")
|
||||
public class MovieEntity extends BaseEntity {
|
||||
|
||||
@OneToMany
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "categorieId", nullable = false)
|
||||
private CategorieEntity categorie;
|
||||
|
||||
|
@ -1,8 +1,23 @@
|
||||
package com.example.backend.movies.repository;
|
||||
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
import com.example.backend.movies.model.MovieEntity;
|
||||
|
||||
public interface MovieRepository extends CrudRepository<MovieEntity, Integer> {
|
||||
|
||||
Optional<MovieEntity> findByNameIgnoreCase(String name);
|
||||
|
||||
Optional<MovieEntity> findByCategorieIdAndId(Integer categorieId, Integer id);
|
||||
|
||||
List<MovieEntity> findByCategorieId(Integer categorieId);
|
||||
|
||||
@Query("SELECT COUNT(DISTINCT v.user.id) FROM ViewedEntity v WHERE v.movie.id = :movieId")
|
||||
Integer getCountViews(@Param("movieId") Integer movieId);
|
||||
|
||||
public interface MovieRepository extends CrudRepository<MovieRepository, Integer> {
|
||||
Optional<MovieRepository> findByNameIgnoreCase(String name);
|
||||
}
|
@ -1,44 +1,56 @@
|
||||
package com.example.backend.movies.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.movies.model.MovieEntity;
|
||||
import com.example.backend.movies.repository.MovieRepository;
|
||||
import com.example.backend.viewed.service.ViewedService;
|
||||
|
||||
@Service
|
||||
public class MovieService {
|
||||
|
||||
private final MovieRepository repository;
|
||||
private final ViewedService viewedService;
|
||||
|
||||
public MovieService(MovieRepository repository, ViewedService viewedService) {
|
||||
public MovieService(MovieRepository repository) {
|
||||
this.repository = repository;
|
||||
this.viewedService = viewedService;
|
||||
}
|
||||
|
||||
public List<MovieEntity> getAll(Integer categorieId) {
|
||||
if (Objects.equals(categorieId, 0)) {
|
||||
return repository.getAll();
|
||||
private void checkName(String name) {
|
||||
if (repository.findByNameIgnoreCase(name).isPresent()) {
|
||||
throw new IllegalArgumentException(
|
||||
String.format("Type with name %s is already exists", name));
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(item -> item.getCategorie().getId().equals(categorieId))
|
||||
.toList();
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public List<MovieEntity> getAll(Integer categorieId) {
|
||||
|
||||
if (categorieId == 0) {
|
||||
return StreamSupport.stream(repository.findAll().spliterator(), false).toList();
|
||||
}
|
||||
return repository.findByCategorieId(categorieId);
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public MovieEntity get(Integer id) {
|
||||
return Optional.ofNullable(repository.get(id)).orElseThrow(() -> new NotFoundException(id));
|
||||
return repository.findById(id).orElseThrow(() -> new NotFoundException(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public MovieEntity create(MovieEntity entity) {
|
||||
return repository.create(entity);
|
||||
if (entity == null) {
|
||||
throw new IllegalArgumentException("Сущность не найдена");
|
||||
}
|
||||
checkName(entity.getName());
|
||||
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public MovieEntity update(Integer id, MovieEntity entity) {
|
||||
final MovieEntity exisEntity = get(id);
|
||||
exisEntity.setCategorie(entity.getCategorie());
|
||||
@ -46,17 +58,20 @@ public class MovieService {
|
||||
exisEntity.setDescription(entity.getDescription());
|
||||
exisEntity.setDuration(entity.getDuration());
|
||||
exisEntity.setImage(entity.getImage());
|
||||
return repository.update(exisEntity);
|
||||
return repository.save(exisEntity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public MovieEntity delete(Integer id) {
|
||||
final MovieEntity exisEntity = get(id);
|
||||
return repository.delete(exisEntity);
|
||||
repository.delete(exisEntity);
|
||||
return exisEntity;
|
||||
}
|
||||
|
||||
public Integer countViews(Integer movieId) {
|
||||
@Transactional(readOnly = true)
|
||||
public Integer countView(Integer movieId) {
|
||||
|
||||
return viewedService.countViewed(movieId);
|
||||
return repository.getCountViews(movieId);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
package com.example.backend.users.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.stream.StreamSupport;
|
||||
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.users.model.UserEntity;
|
||||
@ -17,29 +19,35 @@ public class UserService {
|
||||
this.repository = repository;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<UserEntity> getAll() {
|
||||
return repository.getAll();
|
||||
return StreamSupport.stream(repository.findAll().spliterator(), false).toList();
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public UserEntity get(Integer id) {
|
||||
return Optional.ofNullable(repository.get(id)).orElseThrow(() -> new NotFoundException(id));
|
||||
return repository.findById(id).orElseThrow(() -> new NotFoundException(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public UserEntity create(UserEntity entity) {
|
||||
return repository.create(entity);
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public UserEntity update(Integer id, UserEntity entity) {
|
||||
final UserEntity existsentity = get(id);
|
||||
existsentity.setUsername(entity.getUsername());
|
||||
existsentity.setPassword(entity.getPassword());
|
||||
existsentity.setIsAdmin(entity.getIsAdmin());
|
||||
return repository.update(existsentity);
|
||||
return repository.save(existsentity);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public UserEntity delete(Integer id) {
|
||||
final UserEntity existsentity = get(id);
|
||||
return repository.delete(existsentity);
|
||||
repository.delete(existsentity);
|
||||
return existsentity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -56,8 +56,9 @@ public class ViewedController {
|
||||
}
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public ViewedDto get(@PathVariable(name = "id") Integer id) {
|
||||
return toDto(viewedService.get(id));
|
||||
public ViewedDto get(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id) {
|
||||
return toDto(viewedService.get(userId, id));
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@ -66,12 +67,15 @@ public class ViewedController {
|
||||
}
|
||||
|
||||
@PutMapping("/{id}")
|
||||
public ViewedDto update(@PathVariable(name = "id") Integer id, @RequestBody ViewedDto dto) {
|
||||
return toDto(viewedService.update(id, toEntity(dto)));
|
||||
public ViewedDto update(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id,
|
||||
@RequestBody ViewedDto dto) {
|
||||
return toDto(viewedService.update(userId, id, toEntity(dto)));
|
||||
}
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public ViewedDto delete(@PathVariable(name = "id") Integer id) {
|
||||
return toDto(viewedService.delete(id));
|
||||
public ViewedDto delete(@PathVariable(name = "userId") Integer userId,
|
||||
@PathVariable(name = "id") Integer id) {
|
||||
return toDto(viewedService.delete(userId, id));
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,15 @@
|
||||
package com.example.backend.viewed.repository;
|
||||
|
||||
import java.util.Optional;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import com.example.backend.viewed.model.ViewedEntity;
|
||||
|
||||
public interface ViewedRepository extends CrudRepository<ViewedEntity, Integer> {
|
||||
Optional<ViewedEntity> findOneByUserIdAndId(long userId, long id);
|
||||
Optional<ViewedEntity> findOneByMovieIdAndId(long movieId, long id);
|
||||
|
||||
List<ViewedEntity> findByUserId(Integer userId);
|
||||
|
||||
Optional<ViewedEntity> findOneByUserIdAndId(Integer userId, Integer id);
|
||||
|
||||
}
|
||||
|
@ -1,62 +1,60 @@
|
||||
package com.example.backend.viewed.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.users.service.UserService;
|
||||
import com.example.backend.viewed.model.ViewedEntity;
|
||||
import com.example.backend.viewed.repository.ViewedRepository;
|
||||
|
||||
@Service
|
||||
public class ViewedService {
|
||||
private final ViewedRepository repository;
|
||||
private final UserService userService;
|
||||
|
||||
public ViewedService(ViewedRepository repository) {
|
||||
public ViewedService(ViewedRepository repository, UserService userService) {
|
||||
this.repository = repository;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public List<ViewedEntity> getAll(Integer userId) {
|
||||
if (Objects.equals(userId, 0)) {
|
||||
return repository.getAll();
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(item -> item.getUser().getId().equals(userId))
|
||||
.toList();
|
||||
userService.get(userId);
|
||||
return repository.findByUserId(userId);
|
||||
}
|
||||
|
||||
public Integer countViewed(Integer movieId) {
|
||||
if (Objects.equals(movieId, 0)) {
|
||||
return repository.getAll().size();
|
||||
}
|
||||
return repository.getAll().stream()
|
||||
.filter(item -> item.getMovie().getId().equals(
|
||||
movieId))
|
||||
.toList().size();
|
||||
|
||||
// return (int) repository.getAll().stream().filter(item ->
|
||||
// item.getMovie().getId().equals(movieId)).count();
|
||||
}
|
||||
|
||||
public ViewedEntity get(Integer id) {
|
||||
return Optional.ofNullable(repository.get(id)).orElseThrow(() -> new NotFoundException(id));
|
||||
@Transactional(readOnly = true)
|
||||
public ViewedEntity get(Integer userId, Integer id) {
|
||||
userService.get(userId);
|
||||
return repository.findOneByUserIdAndId(userId, id).orElseThrow(() -> new NotFoundException(id));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ViewedEntity create(ViewedEntity entity) {
|
||||
return repository.create(entity);
|
||||
return repository.save(entity);
|
||||
}
|
||||
|
||||
public ViewedEntity update(Integer id, ViewedEntity entity) {
|
||||
final ViewedEntity exisEntity = get(id);
|
||||
@Transactional
|
||||
public ViewedEntity update(Integer userId, Integer id, ViewedEntity entity) {
|
||||
final ViewedEntity exisEntity = get(userId, id);
|
||||
exisEntity.setUser(entity.getUser());
|
||||
exisEntity.setMovie(entity.getMovie());
|
||||
return repository.update(exisEntity);
|
||||
return repository.save(exisEntity);
|
||||
}
|
||||
|
||||
public ViewedEntity delete(Integer id) {
|
||||
final ViewedEntity exisEntity = get(id);
|
||||
return repository.delete(exisEntity);
|
||||
@Transactional
|
||||
public ViewedEntity delete(Integer userId, Integer id) {
|
||||
final ViewedEntity exisEntity = get(userId, id);
|
||||
repository.delete(exisEntity);
|
||||
return exisEntity;
|
||||
}
|
||||
|
||||
// @Transactional
|
||||
// public Integer countViewed(Integer movieId) {
|
||||
// return repository.getCountViews(movieId);
|
||||
// }
|
||||
|
||||
}
|
||||
|
@ -1 +1,20 @@
|
||||
# Server
|
||||
spring.main.banner-mode=off
|
||||
server.port=8080
|
||||
|
||||
# Logger settings
|
||||
# Available levels are: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
|
||||
logging.level.com.example.demo=DEBUG
|
||||
|
||||
# JPA Settings
|
||||
spring.datasource.url=jdbc:h2:file:./data
|
||||
spring.datasource.username=elina
|
||||
spring.datasource.password=elina
|
||||
spring.datasource.driver-class-name=org.h2.Driver
|
||||
spring.jpa.hibernate.ddl-auto=create
|
||||
spring.jpa.open-in-view=false
|
||||
# spring.jpa.show-sql=true
|
||||
# spring.jpa.properties.hibernate.format_sql=true
|
||||
|
||||
# H2 console
|
||||
spring.h2.console.enabled=true
|
||||
|
@ -1,54 +1,77 @@
|
||||
package com.example.backend;
|
||||
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
|
||||
import com.example.backend.categories.model.CategorieEntity;
|
||||
import com.example.backend.categories.service.CategorieService;
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
|
||||
@SpringBootTest
|
||||
@TestMethodOrder(OrderAnnotation.class)
|
||||
public class CategorieServiceTests {
|
||||
|
||||
class CategorieServiceTests {
|
||||
@Autowired
|
||||
private CategorieService categorieService;
|
||||
|
||||
private CategorieEntity categorie;
|
||||
|
||||
@BeforeEach
|
||||
void createData() {
|
||||
removeData();
|
||||
|
||||
categorie = categorieService.create(new CategorieEntity(1, "Drama", "null"));
|
||||
categorieService.create(new CategorieEntity(2, "Comedy", "null"));
|
||||
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void removeData() {
|
||||
categorieService.getAll().forEach(item -> categorieService.delete(item.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getTest() {
|
||||
Assertions.assertThrows(NotFoundException.class, () -> categorieService.get(0));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
void createTest() {
|
||||
categorieService.create(new CategorieEntity(1, "Драма", ""));
|
||||
final CategorieEntity lastCategorie = categorieService.create(new CategorieEntity(2, "Хоррор", ""));
|
||||
Assertions.assertEquals(lastCategorie, categorieService.get(2));
|
||||
Assertions.assertEquals(2, categorieService.getAll().size());
|
||||
Assertions.assertEquals(categorie, categorieService.get(categorie.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
void update() {
|
||||
final String newName = "Комедия";
|
||||
final CategorieEntity entity = categorieService.get(2);
|
||||
final String oldName = entity.getName();
|
||||
final CategorieEntity newEntity = categorieService.update(2, new CategorieEntity(2, newName, ""));
|
||||
void createNotUniqueTest() {
|
||||
final CategorieEntity nonUniqueCategorie = new CategorieEntity(1, "Drama", "null");
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> categorieService.create(nonUniqueCategorie));
|
||||
}
|
||||
|
||||
@Test
|
||||
void createNullableTest() {
|
||||
final CategorieEntity nullableCategorie = new CategorieEntity(1, null, "null");
|
||||
Assertions.assertThrows(DataIntegrityViolationException.class, () -> categorieService.create(
|
||||
nullableCategorie));
|
||||
}
|
||||
|
||||
@Test
|
||||
void updateTest() {
|
||||
final String newName = "TEST";
|
||||
final String oldName = categorie.getName();
|
||||
final CategorieEntity cat = new CategorieEntity(categorie.getId(), newName, categorie.getImage());
|
||||
final CategorieEntity newEntity = categorieService.update(categorie.getId(), cat);
|
||||
Assertions.assertEquals(newName, newEntity.getName());
|
||||
Assertions.assertNotEquals(oldName, "Аниме");
|
||||
|
||||
Assertions.assertNotEquals(oldName, newEntity.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
void delete() {
|
||||
categorieService.delete(2);
|
||||
void deleteTest() {
|
||||
categorieService.delete(categorie.getId());
|
||||
Assertions.assertEquals(1, categorieService.getAll().size());
|
||||
|
||||
Assertions.assertNotEquals(2, categorieService.getAll().size());
|
||||
Assertions.assertNotEquals(3, categorieService.getAll().size());
|
||||
}
|
||||
}
|
||||
|
@ -1,76 +1,80 @@
|
||||
package com.example.backend;
|
||||
// package com.example.backend;
|
||||
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
// import org.junit.jupiter.api.TestMethodOrder;
|
||||
// import org.junit.jupiter.api.Assertions;
|
||||
// import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
||||
// import org.junit.jupiter.api.Order;
|
||||
// import org.junit.jupiter.api.Test;
|
||||
// import org.springframework.beans.factory.annotation.Autowired;
|
||||
// import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import com.example.backend.categories.model.CategorieEntity;
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.favorites.model.FavoriteEntity;
|
||||
import com.example.backend.favorites.service.FavoriteService;
|
||||
import com.example.backend.movies.model.MovieEntity;
|
||||
import com.example.backend.users.model.UserEntity;
|
||||
// import com.example.backend.categories.model.CategorieEntity;
|
||||
// import com.example.backend.core.errors.NotFoundException;
|
||||
// import com.example.backend.favorites.model.FavoriteEntity;
|
||||
// import com.example.backend.favorites.service.FavoriteService;
|
||||
// import com.example.backend.movies.model.MovieEntity;
|
||||
// import com.example.backend.users.model.UserEntity;
|
||||
|
||||
@SpringBootTest
|
||||
@TestMethodOrder(OrderAnnotation.class)
|
||||
public class FavoriteServiceTests {
|
||||
@Autowired
|
||||
private FavoriteService favoriteService;
|
||||
// @SpringBootTest
|
||||
// @TestMethodOrder(OrderAnnotation.class)
|
||||
// public class FavoriteServiceTests {
|
||||
// @Autowired
|
||||
// private FavoriteService favoriteService;
|
||||
|
||||
@Test
|
||||
void getTest() {
|
||||
Assertions.assertThrows(NotFoundException.class, () -> favoriteService.get(0));
|
||||
}
|
||||
// @Test
|
||||
// void getTest() {
|
||||
// Assertions.assertThrows(NotFoundException.class, () ->
|
||||
// favoriteService.get(0));
|
||||
// }
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
void createTest() {
|
||||
final CategorieEntity cat1 = new CategorieEntity(1, "Драма", "");
|
||||
// @Test
|
||||
// @Order(1)
|
||||
// void createTest() {
|
||||
// final CategorieEntity cat1 = new CategorieEntity(1, "Драма", "");
|
||||
|
||||
final MovieEntity mov1 = new MovieEntity(1, cat1, "Хатико", "какой-то фильм", "", "");
|
||||
final MovieEntity mov2 = new MovieEntity(2, cat1, "Унесеснные призраками", "какой-то фильм", "", "");
|
||||
// final MovieEntity mov1 = new MovieEntity(1, cat1, "Хатико", "какой-то фильм",
|
||||
// "", "");
|
||||
// final MovieEntity mov2 = new MovieEntity(2, cat1, "Унесеснные призраками",
|
||||
// "какой-то фильм", "", "");
|
||||
|
||||
final UserEntity us1 = new UserEntity(1, "elina", "123", true);
|
||||
// final UserEntity us1 = new UserEntity(1, "elina", "123", true);
|
||||
|
||||
favoriteService.create(new FavoriteEntity(1, us1, mov1));
|
||||
final FavoriteEntity lastFavorite = favoriteService.create(new FavoriteEntity(2, us1, mov2));
|
||||
// favoriteService.create(new FavoriteEntity(1, us1, mov1));
|
||||
// final FavoriteEntity lastFavorite = favoriteService.create(new
|
||||
// FavoriteEntity(2, us1, mov2));
|
||||
|
||||
Assertions.assertEquals(lastFavorite, favoriteService.get(2));
|
||||
Assertions.assertEquals(2, favoriteService.getAll(1).size());
|
||||
}
|
||||
// Assertions.assertEquals(lastFavorite, favoriteService.get(2));
|
||||
// Assertions.assertEquals(2, favoriteService.getAll(1).size());
|
||||
// }
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
void update() {
|
||||
// @Test
|
||||
// @Order(2)
|
||||
// void update() {
|
||||
|
||||
final CategorieEntity cat1 = new CategorieEntity(1, "Драма", "");
|
||||
// final CategorieEntity cat1 = new CategorieEntity(1, "Драма", "");
|
||||
|
||||
final MovieEntity mov2 = new MovieEntity(1, cat1, "Унесеснные призраками",
|
||||
"какой-то фильм", "", "");
|
||||
// final MovieEntity mov2 = new MovieEntity(1, cat1, "Унесеснные призраками",
|
||||
// "какой-то фильм", "", "");
|
||||
|
||||
final UserEntity us1 = new UserEntity(1, "elina", "123", true);
|
||||
// final UserEntity us1 = new UserEntity(1, "elina", "123", true);
|
||||
|
||||
final FavoriteEntity fav = new FavoriteEntity(1, us1, mov2);
|
||||
// final FavoriteEntity fav = new FavoriteEntity(1, us1, mov2);
|
||||
|
||||
final FavoriteEntity oldFav = favoriteService.get(1);
|
||||
// final FavoriteEntity oldFav = favoriteService.get(1);
|
||||
|
||||
final FavoriteEntity newFav = favoriteService.update(2, fav);
|
||||
// final FavoriteEntity newFav = favoriteService.update(2, fav);
|
||||
|
||||
Assertions.assertNotEquals(oldFav.getMovie().getName(),
|
||||
newFav.getMovie().getName());
|
||||
// Assertions.assertNotEquals(oldFav.getMovie().getName(),
|
||||
// newFav.getMovie().getName());
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
void delete() {
|
||||
// @Test
|
||||
// @Order(3)
|
||||
// void delete() {
|
||||
|
||||
favoriteService.delete(1);
|
||||
// favoriteService.delete(1);
|
||||
|
||||
Assertions.assertEquals(1, favoriteService.getAll(1).size());
|
||||
}
|
||||
}
|
||||
// Assertions.assertEquals(1, favoriteService.getAll(1).size());
|
||||
// }
|
||||
// }
|
||||
|
@ -1,88 +1,94 @@
|
||||
package com.example.backend;
|
||||
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
|
||||
import org.junit.jupiter.api.Order;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
|
||||
import com.example.backend.categories.model.CategorieEntity;
|
||||
import com.example.backend.categories.service.CategorieService;
|
||||
import com.example.backend.core.errors.NotFoundException;
|
||||
import com.example.backend.movies.model.MovieEntity;
|
||||
import com.example.backend.movies.service.MovieService;
|
||||
import com.example.backend.users.model.UserEntity;
|
||||
import com.example.backend.viewed.model.ViewedEntity;
|
||||
import com.example.backend.viewed.service.ViewedService;
|
||||
|
||||
@SpringBootTest
|
||||
@TestMethodOrder(OrderAnnotation.class)
|
||||
public class MovieServiceTest {
|
||||
|
||||
class MovieServiceTest {
|
||||
@Autowired
|
||||
|
||||
private MovieService movieService;
|
||||
|
||||
@Autowired
|
||||
private ViewedService viewedService;
|
||||
|
||||
private MovieEntity movie;
|
||||
|
||||
@Autowired
|
||||
|
||||
private CategorieService categorieService;
|
||||
|
||||
@Autowired
|
||||
|
||||
private CategorieEntity cat;
|
||||
|
||||
@BeforeEach
|
||||
void createData() {
|
||||
removeData();
|
||||
|
||||
cat = categorieService.create(new CategorieEntity(1, "Drama", "null"));
|
||||
|
||||
movie = movieService.create(new MovieEntity(1, cat, "1", "1", "1", "1"));
|
||||
movieService.create(new MovieEntity(2, cat, "2", "2", "2", "2"));
|
||||
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void removeData() {
|
||||
movieService.getAll(cat.getId()).forEach(item -> movieService.delete(item.getId()));
|
||||
categorieService.getAll().forEach(item -> categorieService.delete(item.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void getTest() {
|
||||
Assertions.assertThrows(NotFoundException.class, () -> movieService.get(0));
|
||||
Assertions.assertThrows(NotFoundException.class, () -> viewedService.get(0));
|
||||
|
||||
Assertions.assertThrows(NotFoundException.class, () -> movieService.get(20));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(1)
|
||||
void createTest() {
|
||||
final CategorieEntity cat1 = new CategorieEntity(1, "Драма", "");
|
||||
movieService.create(new MovieEntity(1, cat1, "Хатико", "какой-то фильм", "", ""));
|
||||
final MovieEntity lastMovie = movieService.create(new MovieEntity(2, cat1, "Любовь и голуби", "", "", ""));
|
||||
Assertions.assertEquals(lastMovie, movieService.get(2));
|
||||
Assertions.assertEquals(2, movieService.getAll(1).size());
|
||||
Assertions.assertEquals(2, movieService.getAll(cat.getId()).size());
|
||||
Assertions.assertEquals(movie, movieService.get(movie.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(2)
|
||||
void update() {
|
||||
final CategorieEntity newCategorie = new CategorieEntity(1, "Комедия", "");
|
||||
final MovieEntity entity = movieService.get(2);
|
||||
final String oldName = entity.getCategorie().getName();
|
||||
final MovieEntity newEntity = movieService.update(2,
|
||||
new MovieEntity(2, newCategorie, "Любовь и голуби", "", "", ""));
|
||||
Assertions.assertEquals(newCategorie.getName(), newEntity.getCategorie().getName());
|
||||
Assertions.assertNotEquals(oldName, "Аниме");
|
||||
|
||||
void createNotUniqueTest() {
|
||||
final MovieEntity nonUniqueCategorie = new MovieEntity(3, cat, "1", "1", "1", "1");
|
||||
Assertions.assertThrows(IllegalArgumentException.class, () -> movieService.create(nonUniqueCategorie));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(3)
|
||||
void delete() {
|
||||
movieService.delete(2);
|
||||
|
||||
Assertions.assertNotEquals(2, movieService.getAll(1).size());
|
||||
void createNullableTest() {
|
||||
final MovieEntity nullableCategorie = new MovieEntity(1, cat, null, "1", "1", "1");
|
||||
Assertions.assertThrows(DataIntegrityViolationException.class, () -> movieService.create(
|
||||
nullableCategorie));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Order(4)
|
||||
void checkCounViewed() {
|
||||
|
||||
final UserEntity us1 = new UserEntity(1, "", "", true);
|
||||
final UserEntity us2 = new UserEntity(2, "", "", true);
|
||||
final UserEntity us3 = new UserEntity(3, "", "", true);
|
||||
|
||||
final CategorieEntity cat1 = new CategorieEntity(1, "", "");
|
||||
|
||||
final MovieEntity mov1 = new MovieEntity(1, cat1, "", "", "", "");
|
||||
|
||||
viewedService.create(new ViewedEntity(1, us1, mov1));
|
||||
viewedService.create(new ViewedEntity(2, us2, mov1));
|
||||
viewedService.create(new ViewedEntity(3, us3, mov1));
|
||||
|
||||
final Integer count = movieService.countViews(1);
|
||||
|
||||
Assertions.assertEquals(3, count);
|
||||
void updateTest() {
|
||||
final String newName = "TEST";
|
||||
final String oldName = movie.getName();
|
||||
final MovieEntity mov = new MovieEntity(movie.getId(), movie.getCategorie(), newName, movie.getDescription(),
|
||||
movie.getDuration(), movie.getImage());
|
||||
final MovieEntity newEntity = movieService.update(movie.getId(), mov);
|
||||
Assertions.assertEquals(newName, newEntity.getName());
|
||||
Assertions.assertNotEquals(oldName, newEntity.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
void deleteTest() {
|
||||
movieService.delete(1);
|
||||
Assertions.assertEquals(1, movieService.getAll(cat.getId()).size());
|
||||
|
||||
Assertions.assertNotEquals(3, movieService.getAll(cat.getId()).size());
|
||||
}
|
||||
}
|
||||
|
BIN
data.mv.db
Normal file
BIN
data.mv.db
Normal file
Binary file not shown.
70
data.trace.db
Normal file
70
data.trace.db
Normal file
@ -0,0 +1,70 @@
|
||||
2024-04-15 12:19:20.050452+04:00 database: wrong user or password; user: "SA"
|
||||
org.h2.message.DbException: Неверное имя пользователя или пароль
|
||||
Wrong user name or password [28000-224]
|
||||
at org.h2.message.DbException.get(DbException.java:223)
|
||||
at org.h2.message.DbException.get(DbException.java:199)
|
||||
at org.h2.message.DbException.get(DbException.java:188)
|
||||
at org.h2.engine.Engine.openSession(Engine.java:154)
|
||||
at org.h2.engine.Engine.openSession(Engine.java:222)
|
||||
at org.h2.engine.Engine.createSession(Engine.java:201)
|
||||
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343)
|
||||
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125)
|
||||
at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288)
|
||||
at org.h2.server.web.WebServer.getConnection(WebServer.java:811)
|
||||
at org.h2.server.web.WebApp.login(WebApp.java:1039)
|
||||
at org.h2.server.web.WebApp.process(WebApp.java:227)
|
||||
at org.h2.server.web.WebApp.processRequest(WebApp.java:177)
|
||||
at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129)
|
||||
at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166)
|
||||
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590)
|
||||
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
|
||||
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
|
||||
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
|
||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
|
||||
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
|
||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
|
||||
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
|
||||
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
|
||||
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
|
||||
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
|
||||
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
|
||||
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
|
||||
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
|
||||
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
|
||||
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
|
||||
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
|
||||
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391)
|
||||
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
|
||||
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896)
|
||||
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744)
|
||||
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
|
||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
|
||||
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
|
||||
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
|
||||
at java.base/java.lang.Thread.run(Thread.java:842)
|
||||
Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль
|
||||
Wrong user name or password [28000-224]
|
||||
at org.h2.message.DbException.getJdbcSQLException(DbException.java:522)
|
||||
at org.h2.message.DbException.getJdbcSQLException(DbException.java:489)
|
||||
... 50 more
|
||||
2024-04-15 12:20:09.391447+04:00 jdbc[13]: exception
|
||||
org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT * FROM CATEGORIES CATEGORIES [*]FAVORITES"
|
||||
Syntax error in SQL statement "SELECT * FROM CATEGORIES CATEGORIES [*]FAVORITES"; SQL statement:
|
||||
SELECT * FROM CATEGORIES CATEGORIES FAVORITES [42000-224]
|
||||
2024-04-15 16:29:01.404545+04:00 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLDataException: Значение слишком длинное для поля "PASSWORD CHARACTER VARYING(5)": "'string' (6)"
|
||||
Value too long for column "PASSWORD CHARACTER VARYING(5)": "'string' (6)"; SQL statement:
|
||||
insert into users (is_admin,password,username,id) values (?,?,?,?) [22001-224]
|
||||
2024-04-15 16:29:07.847974+04:00 jdbc[3]: exception
|
||||
org.h2.jdbc.JdbcSQLDataException: Значение слишком длинное для поля "PASSWORD CHARACTER VARYING(5)": "'string' (6)"
|
||||
Value too long for column "PASSWORD CHARACTER VARYING(5)": "'string' (6)"; SQL statement:
|
||||
insert into users (is_admin,password,username,id) values (?,?,?,?) [22001-224]
|
Loading…
x
Reference in New Issue
Block a user