Skip to content

Commit

Permalink
Restrict group names to VALID_NAME_REGEX_STR (#8214)
Browse files Browse the repository at this point in the history
  • Loading branch information
shalabhc committed Jun 6, 2022
1 parent b89f4d0 commit 62cbc10
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 2 additions & 2 deletions python_modules/dagster/dagster/core/asset_defs/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from dagster.core.definitions.output import Out
from dagster.core.definitions.partition import PartitionsDefinition
from dagster.core.definitions.resource_definition import ResourceDefinition
from dagster.core.definitions.utils import NoValueSentinel
from dagster.core.definitions.utils import NoValueSentinel, check_valid_name
from dagster.core.errors import DagsterInvalidDefinitionError
from dagster.core.storage.io_manager import IOManagerDefinition
from dagster.core.types.dagster_type import DagsterType
Expand Down Expand Up @@ -215,7 +215,7 @@ def __init__(
self.partition_mappings = partition_mappings
self.op_tags = op_tags
self.resource_defs = dict(check.opt_mapping_param(resource_defs, "resource_defs"))
self.group_name = group_name
self.group_name = check_valid_name(group_name) if group_name else None

def __call__(self, fn: Callable) -> AssetsDefinition:
asset_name = self.name or fn.__name__
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import pytest

from dagster import AssetKey, AssetsDefinition, GraphOut, In, Out, graph, job, op
from dagster.core.asset_defs import AssetIn, SourceAsset, asset, build_assets_job, multi_asset
from dagster.core.errors import DagsterInvalidDefinitionError
from dagster.core.host_representation.external_data import (
ExternalAssetDependedBy,
ExternalAssetDependency,
Expand Down Expand Up @@ -57,6 +60,20 @@ def asset1():
assert external_asset_nodes[0].group_name is None


def test_asset_invalid_group_name():
with pytest.raises(DagsterInvalidDefinitionError):

@asset(group_name="group/with/slashes")
def asset2():
return 1

with pytest.raises(DagsterInvalidDefinitionError):

@asset(group_name="group.with.dots")
def asset3():
return 1


def test_two_asset_job():
@asset
def asset1():
Expand Down

0 comments on commit 62cbc10

Please sign in to comment.