|
31 | 31 | import org.eclipse.rdf4j.model.vocabulary.RDF; |
32 | 32 | import org.eclipse.rdf4j.query.BindingSet; |
33 | 33 | import org.eclipse.rdf4j.query.Dataset; |
| 34 | +import org.eclipse.rdf4j.query.algebra.InsertData; |
34 | 35 | import org.eclipse.rdf4j.query.algebra.TupleExpr; |
35 | 36 | import org.eclipse.rdf4j.sail.SailConnection; |
36 | 37 | import org.eclipse.rdf4j.sail.SailException; |
@@ -161,6 +162,30 @@ void logsDataImportMetricsWhenUpdateAddStatementIsOverridden() { |
161 | 162 | assertThat(messages.get(0)).contains("statementsAdded=1"); |
162 | 163 | } |
163 | 164 |
|
| 165 | + @Test |
| 166 | + void logsDataImportMetricsForBufferedUpdateStatements() { |
| 167 | + TestSail sail = new TestSail(); |
| 168 | + try { |
| 169 | + sail.init(); |
| 170 | + try (SailConnection connection = sail.getConnection()) { |
| 171 | + UpdateContext updateContext = new UpdateContext(new InsertData("INSERT DATA {}"), null, null, false); |
| 172 | + connection.setTransactionSettings(loadDataImportMetricsEnabled()); |
| 173 | + connection.begin(); |
| 174 | + connection.startUpdate(updateContext); |
| 175 | + connection.addStatement(updateContext, RDF.TYPE, RDF.TYPE, RDF.PROPERTY, VF.createIRI("urn:ctx:one"), |
| 176 | + VF.createIRI("urn:ctx:two")); |
| 177 | + connection.endUpdate(updateContext); |
| 178 | + connection.commit(); |
| 179 | + } |
| 180 | + } finally { |
| 181 | + sail.shutDown(); |
| 182 | + } |
| 183 | + |
| 184 | + List<String> messages = appender.messages(Level.INFO); |
| 185 | + assertThat(messages).hasSize(1); |
| 186 | + assertThat(messages.get(0)).contains("statementsAdded=2"); |
| 187 | + } |
| 188 | + |
164 | 189 | private static TransactionSetting loadDataImportMetricsEnabled() { |
165 | 190 | return DataImportMetrics.ENABLED; |
166 | 191 | } |
|
0 commit comments