Copy
grpcurl \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '
{
"subscriberNumberPrefix": "+467123",
"operatorCode": "A21",
"validFrom": "2020-01-01T00:00:00Z"
}
' \
sandbox.api.shamrock.wgtwo.com:443 \
wgtwo.number_portability.v1.NumberPortabilityService/ListPortingRecords
Copy
package com.example.numberPortability
import com.google.protobuf.Timestamp
import com.wgtwo.api.v1.number_portability.NumberPortabilityServiceGrpcKt
import com.wgtwo.api.v1.number_portability.listPortingRecordsRequest
import io.grpc.ManagedChannelBuilder
import io.grpc.Status
import io.grpc.StatusException
import kotlinx.coroutines.runBlocking
import kotlin.test.assertFailsWith
private val channel = ManagedChannelBuilder.forAddress("sandbox.api.shamrock.wgtwo.com", 443).build()
private val stub = NumberPortabilityServiceGrpcKt.NumberPortabilityServiceCoroutineStub(channel)
fun main() = runBlocking {
val listPortingRecordsRequest = listPortingRecordsRequest {
subscriberNumberPrefix = "+467000"
validFrom = Timestamp.newBuilder().setSeconds(System.currentTimeMillis() / 1000).build()
}
println("listPortingRecordsRequest:
$listPortingRecordsRequest")
val listPortingRecordsResponse = stub.listPortingRecords(listPortingRecordsRequest)
println("listPortingRecordsResponse:
$listPortingRecordsResponse")
val listPortingRecordsRequestWithInvalidSubscriberNumberPrefix = listPortingRecordsRequest {
subscriberNumberPrefix = "invalid"
}
val exception = assertFailsWith<StatusException>("exception is not a StatusException") {
stub.listPortingRecords(listPortingRecordsRequestWithInvalidSubscriberNumberPrefix)
}
assert(exception.status.code == Status.INVALID_ARGUMENT.code) {
"status code is not INVALID_ARGUMENT: ${exception.status.code}"
}
}