rkingDog.taxii2lib_2.12.0.1.source-code.TestApp.scala Maven / Gradle / Ivy
//import java.security.Security
//
//import com.kodekutters.stix._
//import play.api.libs.json.{JsString, Json}
//import com.kodekutters.taxii._
//
//import scala.collection.immutable.HashMap
//import scala.concurrent.ExecutionContext.Implicits.global
//import scala.util.{Failure, Success, Try}
//
//// val proxyurl = "https://cors-anywhere.herokuapp.com/"
////https://otx.alienvault.com/taxii/discovery
//
//
//object TestApp {
//
// def main(args: Array[String]): Unit = {
// // needed for (SSL) TLS-1.2 in https, requires jdk1.8.0_152
// Security.setProperty("crypto.policy", "unlimited")
//
// test0()
//
// test3()
//
// }
//
// def test0(): Unit = {
// val conn = new TaxiiConnection("https://test.freetaxii.com:8000", "user-me", "mypassword", 5)
// val server = new Server("/taxii/", conn)
// server.discovery.map(d => println("---> discovery " + d))
//
// val apiroots = server.apiRoots().map(apirootList => {
// apirootList.foreach(api => {
// println("....apirootList api=" + api)
// val cols = Collections(api.api_root, conn)
// println("....apirootList cols=" + cols)
// cols.collections() onComplete {
// case Success(value) => println("....collections=" + value)
// case Failure(e) => println(".... 3 Failure result " + e)
// }
// })
// })
//
//
// }
//
// def test3() = {
//
// // curl --verbose -H "Accept:application/vnd.oasis.taxii+json;version=2.0;" https://test.freetaxii.com:8000/taxii/
//
// // Content-Range: items 0-9/56
// // Content-Type: application/vnd.oasis.stix+json; version=2.1; charset=utf-8
//
// // curl --verbose -H "Accept:application/vnd.oasis.stix+json;Range:items=0-1" https://test.freetaxii.com:8000/osint/collections/34f8c42d-213a-480d-9046-0bd8a8f25680/objects/
//
// // curl --verbose -H "Accept:application/vnd.oasis.stix+json;version=2.0;Range:items=0-1" https://test.freetaxii.com:8000/osint/collections/34f8c42d-213a-480d-9046-0bd8a8f25680/objects/
//
// // curl --verbose -H "Accept:application/vnd.oasis.taxii+json;version=2.0;Range:items=0-1" https://test.freetaxii.com:8000/osint/collections/34f8c42d-213a-480d-9046-0bd8a8f25680/manifest/
//
//
// val apiroot = "https://test.freetaxii.com:8000/osint/"
// val colId = "34f8c42d-213a-480d-9046-0bd8a8f25680"
//
// val col = new Collection(colId, apiroot)
//
// col.getObjects().map(bndl => {
// bndl.map(theBundle => {
// println("---> count: " + theBundle.objects.length)
// // for (stix <- theBundle.objects) println("---> stix: " + stix.id)
// // col.conn.close()
// // System.exit(1)
// })
// })
//
// col.getManifests().map(mfst => println("---> manifest: " + mfst))
//
// col.getManifests(range = "0-9").onComplete {
// case Success(mfst) => println("---> Manifest: " + mfst)
// case Failure(err) => println("---> Manifest Failure: " + err)
// }
//
//
// // col.getObjects().onComplete({
// // case Success(bundle) => println("---> bundle=" + bundle)
// // case Failure(err) => println("---> err=" + err)
// // })
//
// }
//
//
// def test1() = {
//
// // https://test.freetaxii.com:8000
//
// val conn = new TaxiiConnection("https://test.freetaxii.com:8000", "user-me", "mypassword", 5)
// val server = new Server("/com/kodekutters/taxii/", conn)
//
// server.response onComplete {
// case Success(value) => println("--> response " + value)
// case Failure(e) => println("---> 1 Failure response " + e)
// }
//
// // server.discovery onComplete {
// // case Success(value) => println("--> discovery " + value)
// // case Failure(e) => println("---> 1 Failure discovery " + e)
// // }
//
// val disc2 = server.discovery.map({
// case Some(d) => println("--> 2 discovery " + d)
// case None => println("---> No discovery ")
// })
//
// //
// // val apiroots = server.apiRoots().map(apirootList => {
// // apirootList.foreach(api => {
// // println("....apirootList api=" + api)
// // val cols = Collections(api.api_root, conn)
// // println("....apirootList cols=" + cols)
// // cols.collections() onComplete {
// // case Success(value) => println("....value=" + value)
// // case Failure(e) =>
// // println(".... 3 Failure result " + e)
// // // e.printStackTrace()
// // // conn.close()
// // }
// // })
// // // println("---> apiroot " + apiroot)
// // })
// //
// // // Future[List[ApiRoot]]
// // val apiroots2 = server.apiRoots().map(apirootList => {
// // apirootList.foreach(api => {
// // println("....apirootList2 api=" + api)
// // api.collections().foreach(colList => {
// // colList.foreach(col => {
// // println("....taxiiCollection=" + col.taxiiCollection)
// // })
// // })
// // })
// // // println("---> apiroot " + apiroot)
// // })
//
// println(":::press a key to stop: ")
// var inx = scala.io.StdIn.readLine()
// conn.close()
// println("---->conn closed<----")
//
// System.exit(0)
//
// // val test = server.api_roots() onComplete {
// // case Success(value) =>
// // value.map(x => {
// // println("===> x " + x)
// //
// // val cols = Collections(x, conn).collections() onComplete {
// // case Success(value) =>
// // value.foreach(c => println("......c=" + c))
// // println("===> cols " + value)
// // case Failure(e) =>
// // println("---> 6 Failure result " + e)
// // conn.close()
// // }
// // })
// // case Failure(e) =>
// // println("---> 2 Failure result " + e)
// // conn.close()
// // }
//
// // val test2 = server.api_roots() onComplete {
// // case Success(value) =>
// // value.map(x => {
// // println("===> x " + x)
// //
// // Collections(x, conn).collections() onComplete {
// // case Success(value) =>
// // println("===> cols " + value)
// // case Failure(e) =>
// // println("---> 6 Failure result " + e)
// // conn.close()
// // }
// // })
// // case Failure(e) =>
// // println("---> 2 Failure result " + e)
// // conn.close()
// // }
//
// // Future[List[Collection]]
// // val allCollections = for {
// // roots <- server.apiRoots()
// // cols <- for (c <- roots) yield c.collections()
// // } yield cols
//
// // val allCollections = for {
// // roots <- server.apiRoots()
// // cols <- roots(0).collections()
// // } yield println("===> cols " + cols)
//
// // allCollections onComplete {
// // case Success(value) =>
// // println("===> value " + value)
// // case Failure(e) =>
// // println("---> 5 Failure result " + e)
// // conn.close()
// // }
//
// // Future[List[ApiRoot]]
// // val apiroots = server.apiRoots().map(apirootList => {
// // apirootList.foreach(api => {
// // println("....apirootList api=" + api)
// // api.collections() onComplete {
// // case Success(value) => println("....api.collections(0)=" + value)
// // case Failure(e) =>
// // println(".... 3 Failure result " + e)
// // // e.printStackTrace()
// // conn.close()
// // }
// // })
// // // println("---> apiroot " + apiroot)
// // })
//
//
// // Future[ApiRoot]
// // val apiroot0 = server.apiRoots(0) onComplete {
// // case Success(value) =>
// // println("---> apiroot0 " + value)
// //
// // case Failure(e) => println("---> Failure result " + e)
// // }
// //
// // // Future[String]
// // val apirootString = server.api_roots(0)
//
// // Future[List[Collection]]
// // val allCollections = for {
// // roots <- apiroot0
// // cols <- roots.collections()
// // } yield cols
// // allCollections.map(x => println("===> allCollections " + x))
// //
//
//
// // // Future[Collection]
// // val firstCollection0 = for {
// // cols <- allCollections
// // } yield cols(0)
// //
// // // Future[Collection]
// // val firstCollection1 = for {
// // roots <- apiroot0
// // cols <- roots.collections(0)
// // } yield cols
// //
// // // Future[Collection]
// // val firstCollection2 = for {
// // roots <- server.apiRoots(0)
// // cols <- roots.collections(0)
// // } yield cols
//
// // // Future[Taxii2Bundle]
// // val bundle1 = for {
// // acol <- firstCollection1
// // obj <- acol.getObject("xxx")
// // } yield obj
// //
// // // Future[Taxii2Bundle]
// // val bundle2 = for {
// // roots <- server.apiRoots(0)
// // cols <- roots.collections(0)
// // obj <- cols.getObject("xxx")
// // } yield obj
// //
// // // Future[Taxii2Bundle]
// // val bundle3 = for {
// // roots <- server.apiRoots(0)
// // cols <- roots.collections(0)
// // obj <- cols.getObjects()
// // } yield obj
// //
// // // Future[Boolean]
// // val can_read = firstCollection0.map(x => x.taxiiCollection.can_read)
// //
// // // Future[String]
// // val id = firstCollection2.map(x => x.taxiiCollection.id)
//
// }
//
//
// def test2() = {
// import StixImplicits._
//
// println("---> in TestApp test2() <---")
//
// val conn = new TaxiiConnection("https://httpbin.org", "user-me", "mypassword", 5)
//
// // conn.testFetch("/get").map({
// // case Left(x) => println("---> get TaxiiErrorMessage: " + x)
// // case Right(x) => println("---> server get response: " + x)
// // })
//
// val attackPattern = new AttackPattern(
// name = "Spear Phishing",
// kill_chain_phases = List(KillChainPhase("Kill", "Bill")),
// external_references = List(ExternalReference("a-source-name")),
// object_marking_refs = List(Identifier(Campaign.`type`)),
// custom = CustomProps(Map("x_test" -> JsString("test1"))))
//
// val bundle = new Bundle(attackPattern)
//
// // val bundlejson = Json.toJson[Taxii2Bundle](bundle)
// // println("---> bundlejson " + bundlejson)
// // val bundle2 = Json.fromJson[Taxii2Bundle](bundlejson)
// // println("---> bundle2 " + bundle2)
//
// // conn.testPost("/post", Json.toJson[Taxii2Bundle](bundle)).map({
// // case Left(x) => println("---> server post TaxiiErrorMessage: " + x)
// // case Right(x) => println("---> server post response: " + x)
// // })
// //
// // println("---> I'm still here")
// //
// }
//
//
//}