Skip to content

Commit

Permalink
add templating to asset synth.py (#6606)
Browse files Browse the repository at this point in the history
* add templating to asset synth.py
  • Loading branch information
crwilcox authored Nov 20, 2018
1 parent ff18bff commit 838538b
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 12 deletions.
12 changes: 12 additions & 0 deletions packages/google-cloud-asset/.flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[flake8]
exclude =
# Exclude generated code.
**/proto/**
**/gapic/**
*_pb2.py

# Standard linting exemptions.
__pycache__,
.git,
*.pyc,
conf.py
111 changes: 99 additions & 12 deletions packages/google-cloud-asset/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,116 @@
import nox


LOCAL_DEPS = (
os.path.join('..', 'api_core'),
)
LOCAL_DEPS = (os.path.join("..", "api_core"),)


def default(session):
# Install all test dependencies, then install this package in-place.
session.install('pytest', 'mock')
session.install("mock", "pytest", "pytest-cov")
for local_dep in LOCAL_DEPS:
session.install('-e', local_dep)
session.install('-e', '.')
session.install("-e", local_dep)
session.install("-e", ".")

# Run py.test against the unit tests.
session.run('py.test', '--quiet', os.path.join('tests', 'unit'))
session.run(
"py.test",
"--quiet",
"--cov=google.cloud",
"--cov=tests.unit",
"--cov-append",
"--cov-config=.coveragerc",
"--cov-report=",
"--cov-fail-under=86",
os.path.join("tests", "unit"),
*session.posargs,
)


@nox.session(python=['2.7', '3.5', '3.6', '3.7'])
@nox.session(python=["2.7", "3.5", "3.6", "3.7"])
def unit(session):
"""Run the unit test suite."""
default(session)

@nox.session(python='3.6')

@nox.session(python=["2.7", "3.7"])
def system(session):
"""Run the system test suite."""
system_test_path = os.path.join("tests", "system.py")
# Sanity check: Only run tests if the environment variable is set.
if not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS", ""):
session.skip("Credentials must be set via environment variable")
# Sanity check: only run tests if found.
if not os.path.exists(system_test_path):
session.skip("System tests were not found")

# Use pre-release gRPC for system tests.
session.install("--pre", "grpcio")

# Install all test dependencies, then install this package into the
# virtualenv's dist-packages.
session.install("mock", "pytest")
for local_dep in LOCAL_DEPS:
session.install("-e", local_dep)
session.install("-e", "../test_utils/")
session.install("-e", ".")

# Run py.test against the system tests.
session.run("py.test", "--quiet", system_test_path, *session.posargs)


@nox.session(python="3.7")
def blacken(session):
"""Run black.
Format code to uniform standard.
"""
session.install("black")
session.run(
"black",
"google",
"tests",
"docs",
"--exclude",
".*/proto/.*|.*/gapic/.*|.*/.*_pb2.py",
)


@nox.session(python="3.7")
def lint(session):
"""Run linters.
Returns a failure if the linters find linting errors or sufficiently
serious code quality issues.
"""
session.install("flake8", "black", *LOCAL_DEPS)
session.install(".")
session.run(
"black",
"--check",
"google",
"tests",
"docs",
"--exclude",
".*/proto/.*|.*/gapic/.*|.*/.*_pb2.py",
)
session.run("flake8", "google", "tests")


@nox.session(python="3.7")
def lint_setup_py(session):
"""Verify that setup.py is valid (including RST check)."""
session.install('docutils', 'pygments')
session.run('python', 'setup.py', 'check', '--restructuredtext',
'--strict')
session.install("docutils", "pygments")
session.run("python", "setup.py", "check", "--restructuredtext", "--strict")


@nox.session(python="3.7")
def cover(session):
"""Run the final coverage report.
This outputs the coverage report aggregating coverage from the unit
test runs (not system test runs), and then erases coverage data.
"""
session.install("coverage", "pytest-cov")
session.run("coverage", "report", "--show-missing", "--fail-under=85")

session.run("coverage", "erase")
4 changes: 4 additions & 0 deletions packages/google-cloud-asset/synth.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@

s.move(library, excludes=excludes)

templated_files = gcp.CommonTemplates().py_library(
unit_cov_level=86, cov_level=85)
s.move(templated_files)

s.replace(
"google/cloud/asset_v1beta1/proto/assets_pb2.py",
"from google.iam.v1 import policy_pb2 as",
Expand Down

0 comments on commit 838538b

Please sign in to comment.