1 /*
2  *  Make.org Core API
3  *  Copyright (C) 2020 Make.org
4  *
5  * This program is free software: you can redistribute it and/or modify
6  *  it under the terms of the GNU Affero General Public License as
7  *  published by the Free Software Foundation, either version 3 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU Affero General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Affero General Public License
16  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  *
18  */
19 
20 package org.make.api.technical.healthcheck
21 
22 import io.confluent.kafka.schemaregistry.client.rest.RestService
23 import org.make.api.extensions.KafkaConfiguration
24 import org.make.api.technical.healthcheck.HealthCheck.Status
25 
26 import scala.concurrent.{ExecutionContext, Future}
27 
28 class AvroHealthCheck(kafkaConfiguration: KafkaConfiguration) extends HealthCheck {
29 
30   override val techno: String = "avro"
31 
32   override def healthCheck()(implicit ctx: ExecutionContext): Future[Status] = {
33     Future {
34       val restService = new RestService(kafkaConfiguration.schemaRegistry)
35       if (restService.getAllSubjects().size() > 0) {
36         Status.OK
37       } else {
38         Status.NOK()
39       }
40     }
41   }
42 
43 }
Line Stmt Id Pos Tree Symbol Tests Code
30 43668 1135 - 1141 Literal <nosymbol> org.scalatest.testsuite "avro"
33 35824 1228 - 1432 ApplyToImplicitArgs scala.concurrent.Future.apply org.scalatest.testsuite scala.concurrent.Future.apply[org.make.api.technical.healthcheck.HealthCheck.Status]({ val restService: io.confluent.kafka.schemaregistry.client.rest.RestService = new io.confluent.kafka.schemaregistry.client.rest.RestService(AvroHealthCheck.this.kafkaConfiguration.schemaRegistry); if (restService.getAllSubjects().size().>(0)) org.make.api.technical.healthcheck.HealthCheck.Status.OK else org.make.api.technical.healthcheck.HealthCheck.Status.NOK.apply(org.make.api.technical.healthcheck.HealthCheck.Status.NOK.apply$default$1) })(ctx)