JingsongLi commented on a change in pull request #11047: [FLINK-15912][table] 
Add Context to TableSourceFactory and TableSinkFactory
URL: https://github.com/apache/flink/pull/11047#discussion_r377458333
 
 

 ##########
 File path: 
flink-table/flink-table-planner-blink/src/test/scala/org/apache/flink/table/planner/plan/batch/sql/SinkTest.scala
 ##########
 @@ -70,24 +69,82 @@ class SinkTest extends TableTestBase {
   }
 
   @Test
-  def testCatalogTableSink(): Unit = {
-    val schemaBuilder = new TableSchema.Builder()
-    schemaBuilder.fields(Array("i"), Array(DataTypes.INT()))
-    val schema = schemaBuilder.build()
-    val sink = util.createCollectTableSink(schema.getFieldNames, Array(INT))
-    val catalog = Mockito.spy(new GenericInMemoryCatalog("dummy"))
-    val factory = Mockito.mock(classOf[TableSinkFactory[_]])
-    
Mockito.when[Optional[_]](catalog.getTableFactory).thenReturn(Optional.of(factory))
-    Mockito.when[TableSink[_]](factory.createTableSink(
-      ArgumentMatchers.any(), ArgumentMatchers.any())).thenReturn(sink)
-    util.tableEnv.registerCatalog(catalog.getName, catalog)
-    util.tableEnv.useCatalog(catalog.getName)
-    val catalogTable = new CatalogTableImpl(schema, Map[String, 
String]().asJava, "")
-    catalog.createTable(new ObjectPath("default", "tbl"), catalogTable, false)
-    util.tableEnv.sqlQuery("select 1").insertInto("tbl")
+  def testTableSourceSinkFactory(): Unit = {
+    val factory = new TestContextTableFactory
+    util.tableEnv.getConfig.getConfiguration.setBoolean(factory.needContain, 
true)
+    util.tableEnv.registerCatalog("cat", new GenericInMemoryCatalog("default") 
{
 
 Review comment:
   Yes, you are right, but I want to modify this step by step.
   The previous method `createTableSink(ObjectPath tablePath, CatalogTable 
table)` is only work in `createTableSinkForCatalogTable` too.
   after these commits looks good to you, I will create following commit to fix 
this.
   What do you think?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to