refactor: hrp build

This commit is contained in:
debugtalk
2022-05-28 21:44:12 +08:00
parent 365fcac0cc
commit 62512b9601
30 changed files with 92 additions and 398 deletions
+1 -19
View File
@@ -8,7 +8,6 @@ import (
"path/filepath"
"time"
"github.com/httprunner/funplugin/shared"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
@@ -196,24 +195,7 @@ func createGoPlugin(projectName string) error {
err := CopyFile("templates/plugin/debugtalk.go",
filepath.Join(projectName, "plugin", "debugtalk.go"))
if err != nil {
return err
}
// create go mod
if err := builtin.ExecCommandInDir(exec.Command("go", "mod", "init", "plugin"), pluginDir); err != nil {
return err
}
// download plugin dependency
// funplugin version should be locked
funplugin := fmt.Sprintf("github.com/httprunner/funplugin@%s", shared.Version)
if err := builtin.ExecCommandInDir(exec.Command("go", "get", funplugin), pluginDir); err != nil {
return err
}
// build plugin debugtalk.bin
if err := builtin.ExecCommandInDir(exec.Command("go", "build", "-o", filepath.Join("..", "debugtalk.bin"), "debugtalk.go"), pluginDir); err != nil {
return err
return errors.Wrap(err, "copy debugtalk.go failed")
}
return nil
@@ -0,0 +1,57 @@
import logging
import time
from typing import List
def get_user_agent():
return "hrp/funppy"
def sleep(n_secs):
time.sleep(n_secs)
def sum(*args):
result = 0
for arg in args:
result += arg
return result
def sum_ints(*args: List[int]) -> int:
result = 0
for arg in args:
result += arg
return result
def sum_two_int(a: int, b: int) -> int:
return a + b
def sum_two_string(a: str, b: str) -> str:
return a + b
def sum_strings(*args: List[str]) -> str:
result = ""
for arg in args:
result += arg
return result
def concatenate(*args: List[str]) -> str:
result = ""
for arg in args:
result += str(arg)
return result
def setup_hook_example(name):
logging.warning("setup_hook_example")
return f"setup_hook_example: {name}"
def teardown_hook_example(name):
logging.warning("teardown_hook_example")
return f"teardown_hook_example: {name}"
@@ -2,8 +2,6 @@ package main
import (
"fmt"
"github.com/httprunner/funplugin/fungo"
)
func SumTwoInt(a, b int) int {
@@ -41,17 +39,6 @@ func TeardownHookExample(args string) string {
return fmt.Sprintf("step name: %v, teardown...", args)
}
func GetVersion() string {
return fungo.Version
}
func main() {
fungo.Register("get_version", GetVersion)
fungo.Register("sum_ints", SumInts)
fungo.Register("sum_two_int", SumTwoInt)
fungo.Register("sum_two", SumTwoInt)
fungo.Register("sum", Sum)
fungo.Register("setup_hook_example", SetupHookExample)
fungo.Register("teardown_hook_example", TeardownHookExample)
fungo.Serve()
func GetUserAgent() string {
return "hrp/fungo"
}
@@ -2,11 +2,9 @@ import logging
import time
from typing import List
import funppy
def get_version():
return funppy.__version__
def get_user_agent():
return "hrp/funppy"
def sleep(n_secs):
@@ -57,17 +55,3 @@ def setup_hook_example(name):
def teardown_hook_example(name):
logging.warning("teardown_hook_example")
return f"teardown_hook_example: {name}"
if __name__ == "__main__":
funppy.register("get_version", get_version)
funppy.register("sum", sum)
funppy.register("sum_ints", sum_ints)
funppy.register("concatenate", concatenate)
funppy.register("sum_two_int", sum_two_int)
funppy.register("sum_two", sum_two_int)
funppy.register("sum_two_string", sum_two_string)
funppy.register("sum_strings", sum_strings)
funppy.register("setup_hook_example", setup_hook_example)
funppy.register("teardown_hook_example", teardown_hook_example)
funppy.serve()
@@ -0,0 +1,16 @@
// NOTE: Generated By hrp v4.1.0, DO NOT EDIT!
package main
import (
"github.com/httprunner/funplugin/fungo"
)
func main() {
fungo.Register("SumTwoInt", SumTwoInt)
fungo.Register("SumInts", SumInts)
fungo.Register("Sum", Sum)
fungo.Register("SetupHookExample", SetupHookExample)
fungo.Register("TeardownHookExample", TeardownHookExample)
fungo.Register("GetUserAgent", GetUserAgent)
fungo.Serve()
}
@@ -0,0 +1,75 @@
# NOTE: Generated By hrp v4.1.0, DO NOT EDIT!
import logging
import time
import funppy
from typing import List
def get_user_agent():
return "hrp/funppy"
def sleep(n_secs):
time.sleep(n_secs)
def sum(*args):
result = 0
for arg in args:
result += arg
return result
def sum_ints(*args: List[int]) -> int:
result = 0
for arg in args:
result += arg
return result
def sum_two_int(a: int, b: int) -> int:
return a + b
def sum_two_string(a: str, b: str) -> str:
return a + b
def sum_strings(*args: List[str]) -> str:
result = ""
for arg in args:
result += arg
return result
def concatenate(*args: List[str]) -> str:
result = ""
for arg in args:
result += str(arg)
return result
def setup_hook_example(name):
logging.warning("setup_hook_example")
return f"setup_hook_example: {name}"
def teardown_hook_example(name):
logging.warning("teardown_hook_example")
return f"teardown_hook_example: {name}"
if __name__ == "__main__":
funppy.register("get_user_agent", get_user_agent)
funppy.register("sleep", sleep)
funppy.register("sum", sum)
funppy.register("sum_ints", sum_ints)
funppy.register("sum_two_int", sum_two_int)
funppy.register("sum_two_string", sum_two_string)
funppy.register("sum_strings", sum_strings)
funppy.register("concatenate", concatenate)
funppy.register("setup_hook_example", setup_hook_example)
funppy.register("teardown_hook_example", teardown_hook_example)
funppy.serve()
@@ -24,7 +24,7 @@ teststeps:
method: POST
url: /post
headers:
User-Agent: funplugin/${get_version()}
User-Agent: ${get_user_agent()}
Content-Type: "application/x-www-form-urlencoded"
body: "foo1=$foo1&foo2=$foo3"
validate:
@@ -43,7 +43,7 @@ class TestCaseDemoRefTestcase(HttpRunner):
.post("/post")
.with_headers(
**{
"User-Agent": "funplugin/${get_version()}",
"User-Agent": "${get_user_agent()}",
"Content-Type": "application/x-www-form-urlencoded",
}
)
@@ -8,7 +8,7 @@
"expect_foo2": "config_bar2"
},
"headers": {
"User-Agent": "funplugin/${get_version()}"
"User-Agent": "${get_user_agent()}"
},
"base_url": "https://postman-echo.com",
"verify": false,
@@ -6,7 +6,7 @@ config:
expect_foo1: config_bar1
expect_foo2: config_bar2
headers:
User-Agent: funplugin/${get_version()}
User-Agent: ${get_user_agent()}
verify: False
export: ["foo3"]
@@ -30,7 +30,7 @@ class TestCaseDemoRequests(HttpRunner):
)
.get("/get")
.with_params(**{"foo1": "$foo1", "foo2": "$foo2", "sum_v": "$sum_v"})
.with_headers(**{"User-Agent": "funplugin/${get_version()}"})
.with_headers(**{"User-Agent": "${get_user_agent()}"})
.extract()
.with_jmespath("body.args.foo2", "foo3")
.validate()
@@ -45,7 +45,7 @@ class TestCaseDemoRequests(HttpRunner):
.post("/post")
.with_headers(
**{
"User-Agent": "funplugin/${get_version()}",
"User-Agent": "${get_user_agent()}",
"Content-Type": "text/plain",
}
)
@@ -65,7 +65,7 @@ class TestCaseDemoRequests(HttpRunner):
.post("/post")
.with_headers(
**{
"User-Agent": "funplugin/${get_version()}",
"User-Agent": "${get_user_agent()}",
"Content-Type": "application/x-www-form-urlencoded",
}
)