Objects and methods for SDK

Not a complete list



We need some discovery mechanism for Test flags & sync templates with Go. 



Project - represents Project

       CreateProject(withName(name)) - Creates the project with the name "Name"

GlobalConfig - represents Environment config - also using params from command line

       GetCurrent - get the current environment name

       Get (key) - get parameter

       ReadConfig(config name) - read the file from the context/config folder

TestContext - represents test context - a global object for test

    - Includes Project 

    - Includes Controller

    - Includes EdgeNode[]   

    - Includes Asserts[]

   

       WaitforAsserts( timeout) - w8 for some time. Fail on single AssertFail or all AssertSuccess

Controller -represents Controller (either ADAM or ZController) 

   - ListNodes - returns a collection of nodeStatus objects

   - GetEdgeNode (name) - returns EdgeNode object 

   - NewEdgeNode - creates an EdgeNode object

  - Sync  - sync with the Actual Controller



EdgeNode -represents Eve instance

   - GetStatus - returns Status object

   - Stop - stops the node

   - Starts - starts the node

   - Onboard - issues the onboard command for the node 

   - Reboot  - issues the reboot command for the node

   - UpdateImage - tries to update image for the Node

   - SetNetwork - creates a Network 

    -DeployApplication 

    -GetApplicationInstance



Application - describes Application

AppInstance -represents Application instance linked to EdgeNode

 - has a reference for EdgeNode 

 -Stop 

  - Start 

 -  Redeploy

   - SetNetwork - creates a Network for AppInstance  



State - global state

observe() - starts monitoring

getState() 



State - something that we get from metric/Info and update

EdgeNode1.getState.lastreboot 

reboot - do polling of State



Struct - look into Proto.info - ZinfoMessage - UNION of Records that we save in memory 

StreamProcessor - reads stream from Info/Log/Metrics

CreateProcessor(func) 

   func - processes single log. Returns true if found something. false if not found

.Success

.Fail

Fail or Succcess  - rely on Go infrastructure



/* Asserts - used for getting status - waiting for some action and return 

createAssertSuccess (AssertType, ObjectName,  AssertFunction)  -creates Assert for Success. 

createAssertFail (AssertType, ObjectName, AssertFunction)  - creates Assert for Fail



AssertFunctions

Gets Value and checks whether this Value is what is expected.

createAssertSuccess(Checkreboot(EdgeNode1, 1, controller))

createAssertFail(Checkreboot(EdgeNode1, 5, controller))



*/