Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

Commit

Permalink
test: restore system tests
Browse files Browse the repository at this point in the history
  • Loading branch information
busunkim96 committed Aug 26, 2020
1 parent 6e8d47e commit 88e598f
Show file tree
Hide file tree
Showing 4 changed files with 174 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tests/system/gapic/v1/test_system_trace_service_v1.py
@@ -0,0 +1,27 @@
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import time

from google.cloud import trace_v1


class TestSystemTraceService(object):
def test_list_traces(self):
project_id = os.environ["PROJECT_ID"]

client = trace_v1.TraceServiceClient()
project_id_2 = project_id
response = client.list_traces(project_id=project_id_2)
72 changes: 72 additions & 0 deletions tests/system/gapic/v1/test_system_trace_service_v1_vpcsc.py
@@ -0,0 +1,72 @@
# -*- coding: utf-8 -*-
#
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# flake8: noqa

import os
import pytest

from google.api_core import exceptions
from google.cloud import trace_v1
from test_utils.vpcsc_config import vpcsc_config

_VPCSC_PROHIBITED_MESSAGE = "Request is prohibited by organization's policy."


@pytest.fixture
def client():
return trace_v1.TraceServiceClient()


@vpcsc_config.skip_unless_inside_vpcsc
def test_list_traces_w_inside(client):
list(client.list_traces(project_id=vpcsc_config.project_inside)) # no perms issue


@vpcsc_config.skip_unless_inside_vpcsc
def test_list_traces_w_outside(client):
with pytest.raises(exceptions.PermissionDenied) as exc:
list(client.list_traces(project_id=vpcsc_config.project_outside))

assert _VPCSC_PROHIBITED_MESSAGE in exc.value.message


@vpcsc_config.skip_unless_inside_vpcsc
def test_get_trace_w_inside(client):
with pytest.raises(exceptions.InvalidArgument):
client.get_trace(project_id=vpcsc_config.project_inside, trace_id="") # no perms issue


@vpcsc_config.skip_unless_inside_vpcsc
def test_get_trace_w_outside(client):
with pytest.raises(exceptions.PermissionDenied) as exc:
client.get_trace(project_id=vpcsc_config.project_outside, trace_id="")

assert _VPCSC_PROHIBITED_MESSAGE in exc.value.message


@vpcsc_config.skip_unless_inside_vpcsc
def test_patch_traces_w_inside(client):
with pytest.raises(exceptions.InvalidArgument):
client.patch_traces(project_id=vpcsc_config.project_inside, traces={}) # no perms issue


@vpcsc_config.skip_unless_inside_vpcsc
def test_patch_traces_w_ouside(client):
with pytest.raises(exceptions.PermissionDenied) as exc:
client.patch_traces(project_id=vpcsc_config.project_outside, traces={})

assert _VPCSC_PROHIBITED_MESSAGE in exc.value.message
28 changes: 28 additions & 0 deletions tests/system/gapic/v2/test_system_trace_service_v2.py
@@ -0,0 +1,28 @@
# Copyright 2018 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import time

from google.cloud import trace_v2


class TestSystemTraceService(object):
def test_batch_write_spans(self):
project_id = os.environ["PROJECT_ID"]

client = trace_v2.TraceServiceClient()
name = f"projects/{project_id}"
spans = []
client.batch_write_spans(name=name, spans=spans)
47 changes: 47 additions & 0 deletions tests/system/gapic/v2/test_system_trace_service_v2_vpcsc.py
@@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
#
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# flake8: noqa

import os
import pytest

from google.api_core import exceptions
from google.cloud import trace_v2
from test_utils.vpcsc_config import vpcsc_config

_VPCSC_PROHIBITED_MESSAGE = "Request is prohibited by organization's policy."


@pytest.fixture
def client():
return trace_v2.TraceServiceClient()


@vpcsc_config.skip_unless_inside_vpcsc
def test_batch_write_spans_w_inside(client):
project_inside = f"projects/{vpcsc_config.project_inside}"
client.batch_write_spans(name=project_inside, spans=[]) # no raise


@vpcsc_config.skip_unless_inside_vpcsc
def test_batch_write_spans_w_outside(client):
project_outside = f"projects/{vpcsc_config.project_outside}"

with pytest.raises(exceptions.PermissionDenied) as exc:
client.batch_write_spans(name=project_outside, spans=[])

assert _VPCSC_PROHIBITED_MESSAGE in exc.value.message

0 comments on commit 88e598f

Please sign in to comment.